【发布时间】:2016-01-12 01:06:47
【问题描述】:
如何在 Golang 中使用切片文字创建一个 int 数组?
我试过了
test := [][]int{[1,2,3],[1,2,3]}
和
type Test struct {
foo [][]int
}
bar := Test{foo: [[1,2,3], [1,2,3]]}
【问题讨论】:
-
值得重申的是,您正在尝试创建切片,而不是数组。要创建一个数组,您可以使用
[N]type{42, 33, 567}或[...]type{42, 33, 567}— 从初始化程序中的成员数推断出大小。 -
^当然,我猜在 Go 中你很少使用数组,而且语法非常相似,我基本上将两者互换,即使它们是不同的东西。
-
我不会说我很少使用它们。在解析某些网络协议的代码中,习惯上先声明一个数组,然后对其进行多次重新切片——将这些切片(作为某种窗口)传递给底层数组,传递给其他函数。在任何一种情况下,a) 我认为您的头脑中可能有错误的模型需要修复;-) b) 最好不要混淆读者,因为它们稍后会偶然发现您的帖子。
标签: go