如何在Go中定义包含int和一段字符串的切片?

时间:2015-03-18 18:53:42

标签: arrays multidimensional-array go slice

它看起来像这样:

[[1,["a", "b", "c"]], [2,["z", "x", "y"]]]

直觉上我会做类似[] [] int []字符串的事情,但那是无效的:syntax error: unexpected [, expecting semicolon or newline or },那我该怎么做呢?

1 个答案:

答案 0 :(得分:3)

T片:var x []T

切片T:var x [][]T

T1和T2的切片:你需要将T1和T2放入结构中。

因此:切片(包含{int和一片字符串}的切片)。 它通常是这样的:

type foo struct {
    i int
    s []string
}
var x [][]foo

但是您的示例看起来更像是[]foo

bar := []foo{
    {1, []string{"a", "b", "c"}},
    {2, []string{"z", "x", "y"}},
}
fmt.Println("bar:", bar)
// bar: [{1 [a b c]} {2 [z x y]}]

Run on Playground(还包括更多示例)