如何确定类型是否为Golang中的结构
假设我有两个结构:如何确定类型是否为Golang中的结构,go,reflection,struct,Go,Reflection,Struct,假设我有两个结构: type Base struct { id int name string } type Extended struct { Base Email string Password string } 我想反映扩展结构以获取其字段: e := Extended{} e.Email = "me@mail.com" e.Password = "secret" for i := 0 ; i < reflect.TypeOf(e).NumField() ; i++
type Base struct {
id int
name string
}
type Extended struct {
Base
Email string
Password string
}
我想反映扩展结构以获取其字段:
e := Extended{}
e.Email = "me@mail.com"
e.Password = "secret"
for i := 0 ; i < reflect.TypeOf(e).NumField() ; i++ {
if reflect.TypeOf(e).Field(i) != "struct" { << how to do this validation?
fmt.Println(reflect.ValueOf(e).Field(i))
}
}
e:=Extended{}
e、 电子邮件=”me@mail.com"
e、 Password=“secret”
对于i:=0;i
有关如何提出好问题的提示,请参阅。您的帖子实际上并没有提出问题。似乎不必使用Type,因为Value本身也有Kind()。
if reflect.ValueOf(e).Field(i).Kind() != reflect.Struct {
fmt.Println(reflect.ValueOf(e).Field(i))
}