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)
}