| func reflectTypeFieldByName() { |
| f, _ := reflect.TypeOf(A{}).FieldByName("f") |
| print(f.Type) // @pointsto *int |
| g, _ := reflect.TypeOf(A{}).FieldByName("g") |
| print(g.Type) // @pointsto interface{} |
| print(reflect.Zero(g.Type)) // @pointsto <alloc in reflect.Zero> |
| print(reflect.Zero(g.Type)) // @types interface{} |
| print(reflect.Zero(g.Type).Interface()) // @pointsto |
| print(reflect.Zero(g.Type).Interface()) // @types |
| h, _ := reflect.TypeOf(A{}).FieldByName("h") |
| print(h.Type) // @pointsto bool |
| missing, _ := reflect.TypeOf(A{}).FieldByName("missing") |
| print(missing.Type) // @pointsto |
| dyn, _ := reflect.TypeOf(A{}).FieldByName(dyn) |
| print(dyn.Type) // @pointsto *int | bool | interface{} |
| func reflectTypeField() { |
| fld := reflect.TypeOf(A{}).Field(0) |
| print(fld.Type) // @pointsto *int | bool | interface{} |