0
如果我有不同形式的用戶結構被傳遞到我的應用程序有沒有一種方法來檢查嵌入式結構是否是外部結構的類型?如何檢查外部類型是否是內部類型?
type (
user struct {
name string
email string
}
admin struct {
user
level string
}
)
如果我有不同形式的用戶結構被傳遞到我的應用程序有沒有一種方法來檢查嵌入式結構是否是外部結構的類型?如何檢查外部類型是否是內部類型?
type (
user struct {
name string
email string
}
admin struct {
user
level string
}
)
根據你的需要,你有兩個主要的方法:reflect.TypeOf
,和type swtich。
您將使用第一個將接口的類型與另一個接口的類型進行比較。例如:
if reflect.TypeOf(a) == reflect.TypeOf(b) {
doSomething()
}
您將使用第二個接口來執行特定的操作。例如:
switch a.(type) {
case User:
doSomething()
case Admin:
doSomeOtherThing()
}
使用http://golang.org/pkg/reflect/來判斷它是否是原始用戶結構或繼承的結構。 – 2015-03-13 17:21:57