我有以下结构,它们遵循这个结构:
A是接口,B, C,D都是带接口的类型A。
我有一部分变量args都带有 interface 类型A,每个变量都可以是B, C,D特定类型。
我想写一个for循环来判断切片中的所有变量是否都属于同一个动态类型。
我写了以下代码:
var existingTyp A
for i, d := range args {
switch typ := d.(type) {
case *B, *C, *D:
if existingTyp == nil {
existingTyp = typ
} else {
if typ != existingTyp {
panic("error!")
}
}
}
如何修改代码来实现我想要的?
holdtom
翻阅古今
相关分类