less main.go
输出:
```
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)
}
```
go version
输出:
go version go1.5.2 darwin/amd64
go build main.go
更正
./main
输出:
u is main.User, {0 <nil> { <nil> }}
在我的真实项目中,我发现创建的对象的字段类型不正确
答案 0 :(得分:0)
您的结构实际上有4个字段,请注意分隔空字符串字段的额外空格。
尝试使用%#v
来显示结构的golang语法表示,这样可以更容易阅读(但在大结构上可能变得非常拥挤)。