结构体数组,在定义struct时加上[],是什么意思?

weixin_38056080 2019-09-20 10:43:17
```
type Abc []struct {
OrderID int `json:"orderId"`
Price string `json:"price"`
}
```

这样定义出来的结构体,声明变量之后,type是Abc,而不是[]Abc
这样定义出来的也不能直接abc[0],这样使用,所以有点不是明白,这个什么意思?
...全文
79 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38067396 2019-09-20
  • 打赏
  • 举报
回复
先理解下 type StringList []string
weixin_38089719 2019-09-20
  • 打赏
  • 举报
回复
亲,abc typeof [] struct (匿名) {OrderID, Price} 这样些只是把类型定义提前了而已。
weixin_38096146 2019-09-20
  • 打赏
  • 举报
回复
这是slice的定义,不是数组的定义。
weixin_38099195 2019-09-20
  • 打赏
  • 举报
回复
意思是定义了一个新结构体Abc,Abc字面量为匿名struct { OrderID Price }的切片;也即是Abc和[]struct { OrderID Price }是等价的,两者可以相互转换,但是是不同的类型。 ``` abc := []struct { OrderID int Price string }{{10, "abc"}} var ab = Abc(abc) var ac = Abc([]struct { OrderID int Price string }{{10, "abc"}}) ```

433

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧