我想在結構中創建數組數組的複合文字。在結構之外創建數組陣列的複合文字
package main
import "fmt"
func main() {
x := [...][]string {{"a", "b"}}
fmt.Printf("%s", x)
}
工作。 (http://play.golang.org/p/C2RbNnd7LL)
但我無法在結構中定義[...] []字符串類型的字段。如在http://play.golang.org/p/wHNeeuAJuO
package main
import "fmt"
type t struct {
f [...][]string
}
func main() {
x := [...][]string {{"a", "b"}}
y := t{x}
fmt.Printf("%s", y)
}
F給出陣列字面
當然,它給出了一個錯誤! Go中的數組具有編譯時固定長度。爲了禮貌,編譯器會爲你計算一個數組的**元素;那是'...'。沒有文字,沒有計數,沒有'...',只是說明數組的大小或去一個切片。看看http://blog.golang.org/slices。並且請:不要叫一個陣列或反之亦然(因爲每次有人做一隻小貓死亡)。這只是一個語法錯誤,與Go的數組和片斷的誤解相結合。你完成了Go遊覽? – Volker 2014-11-25 00:41:01
可能會在這裏向您展示一些不合適的模式,但是一旦您*使用切片,您可以選擇如何編寫文字:http://play.golang.org/p/X1Pwsp0nK2 – twotwotwo 2014-11-25 01:46:35