如果我在我的应用程序周围传递了不同形式的用户结构,有没有办法检查嵌入式结构是否是外部结构的一种类型?
type (
user struct {
name string
email string
}
admin struct {
user
level string
}
)
答案 0 :(得分:1)
根据您的需要,您有两种主要方法:reflect.TypeOf
和type swtich。
您将使用第一个来比较接口的类型和另一个接口的类型。例如:
if reflect.TypeOf(a) == reflect.TypeOf(b) {
doSomething()
}
在给定接口类型的情况下,您将使用秒来执行特定操作。例如:
switch a.(type) {
case User:
doSomething()
case Admin:
doSomeOtherThing()
}