Reflection golang反射创建对象出错
Reflection golang反射创建对象出错,reflection,go,Reflection,Go,less main.go输出: ``` ``` go版本输出: go版本go1.5.2达尔文/amd64 go build main.go正确 /main输出: u是main.User,{0{} 怎么了??为什么你只反对第三个领域?用户结构包括四个字段 在我的Realy项目中,我发现创建的对象的字段类型不正确您的结构实际上有4个字段,请注意分隔空字符串字段的额外空格 尝试使用%#v显示结构的golang语法表示,这样更易于阅读(但在大型结构上可能会变得非常拥挤) package main
less main.go
输出:
```
```
go版本
输出:
go版本go1.5.2达尔文/amd64
go build main.go
正确
/main
输出:
u是main.User,{0{}
怎么了??为什么你只反对第三个领域?用户结构包括四个字段
在我的Realy项目中,我发现创建的对象的字段类型不正确您的结构实际上有4个字段,请注意分隔空字符串字段的额外空格 尝试使用
%#v
显示结构的golang语法表示,这样更易于阅读(但在大型结构上可能会变得非常拥挤)
package main
import (
"reflect"
"net/url"
"fmt"
)
type User struct {
Id uint64 `json:"id"`
No *string `json:"no"`
Identity string `json:"identity"`
Head url.URL `json:"head"`
}
func main() {
t := reflect.TypeOf(User{})
u := reflect.New(t).Elem().Interface()
fmt.Printf("u is %T, %v\n", u, u)
}