stdlib、具体的にはhttps://golang.org/src/html/template/context.goを参照していたところ、このコードに遭遇しました。このコードは、以前に定義されたuint8 enumの文字列表現を作成するタスクを課されています。
var stateNames = [...]string{
stateText: "stateText",
stateTag: "stateTag",
//... many more elided
stateCSSBlockCmt: "stateCSSBlockCmt",
stateCSSLineCmt: "stateCSSLineCmt",
stateError: "stateError",
}
イニシャライザの[...]構文に興味がありました。var stateNames = []string{}
その構文で単純な以上のものを意味するものはありますか?
OK、私がやるべきだったように、これを遊び場に置き、変数を初期化してからを呼び出しfmt.Printf("%T", stateNames)
、[25]string
https://play.golang.org/p/3k-WiI8Jh9K
結局、これはスライスではなく配列を定義し、配列は定義された項目の数に自動的に設定された長さで初期化されます。きちんと!
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加