Go introspection

func getFields() {
t := reflect.TypeOf(model.Post{})
fmt.Printf("%v\n", t.Name())
for i := 0; i < t.NumField(); i++ {
field := t.Field(i)
fmt.Printf("%v\n", field.Name)
}
}
func getInterfaces(file *ast.File) *ast.Field {
for _, d := range file.Decls {
if d, ok := d.(*ast.GenDecl); ok && d.Tok == token.TYPE {
for _, s := range d.Specs {
s, _ := s.(*ast.TypeSpec)
println(s.Name.String())
}
}
}
return nil
}
Hmmm

No comments:

Post a Comment