匿名结构体初始化问题

archxm · 2018-03-12 09:45:55 · 3720 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2018-03-12 09:45:55 的主题,其中的信息可能已经有所发展或是发生改变。

代码大概是这样 type A struct { B []struct { Name string } }

a := A{}
append(a.B, ?)
fmt.Println(a)

匿名结构体的slice,如何初始化,如何append值?


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3720 次点击  
加入收藏 微博
3 回复  |  直到 2018-03-15 18:17:14
xcxlegend
xcxlegend · #1 · 7年之前

struct { Name string }{"name"}

smartxff
smartxff · #2 · 7年之前

a.B = append(a.B, struct{ Name string }{Name:"b" })

还要注意一点的是,有tag和无tag属于不同类型

type A struct {B []struct{Name string json:"name"}} 赋值时必须加上tag

append(a.B, struct{ Name string json:"name" }{Name:"1" })

archxm
archxm · #3 · 7年之前
smartxffsmartxff #2 回复

a.B = append(a.B, struct{ Name string }{Name:"b" }) 还要注意一点的是,有tag和无tag属于不同类型 type A struct {B []struct{Name string `json:"name"`}} 赋值时必须加上tag append(a.B, struct{ Name string `json:"name"` }{Name:"1" })

谢谢,感觉这样有些复杂,似乎设计的不太完美

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传