我有這段代碼,它給我錯誤: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 關注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消