为了账号安全,请及时绑定邮箱和手机立即绑定

golang 反映创建对象是错误的

golang 反映创建对象是错误的

Go
慕无忌1623718 2021-12-06 14:57:18
less main.go 输出:```package mainimport (    "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/amd64go build main.go 正确的./main 输出:u is main.User, {0 <nil>  {  <nil>     }}什么事??为什么你只反对第三个领域?用户结构包括四个字段!在我真正的项目中,我发现创建的对象的字段类型不正确
查看完整描述

1 回答

?
慕码人8056858

TA贡献1803条经验 获得超6个赞

您的结构实际上有 4 个字段,请注意分隔空字符串字段的额外空格。

尝试使用%#v来显示结构的 golang 语法表示,这样更容易阅读(但在大型结构上可能会变得非常拥挤)。


查看完整回答
反对 回复 2021-12-06
  • 1 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信