我有这段代码,它给我错误:package mainimport ( "fmt")func main() { var cnt = make([][]string,0,10) for i := 0; i < 5; i++ { var tmp = make([]string,0,8) for c := 0 ; c < 5 ; c++ { tmp = append(tmp,"Matias") } cnt= append(cnt,tmp...) } fmt.Println(cnt)}它给我一个错误。基本上我需要的是让切片尽可能动态。我不知道任何两个维度的最终长度是多少。
1 回答
SMILET
TA贡献1796条经验 获得超4个赞
编译器错误实际上是误导性的——它应该引用你正在使用的tmp...
字符串的可变参数——而不是它引用的是可以用来附加到的tmp
正确类型:[]string
cnt
main.go:14:15:不能使用 tmp (type []string) 作为类型 [][]string in append
无论如何,使用tmp...
go是从tmp
一个 []string 变成单独的字符串参数。有效地:
cnt = append(cnt, tmp[0], tmp[1], tmp[2], tmp[3], tmp[4])
而且 go 不能附加string
到一个[][]string
类型。
将行更改为:
cnt = append(cnt, tmp)
- 1 回答
- 0 关注
- 94 浏览
添加回答
举报
0/150
提交
取消