对复合类型(数组、切片、字典、结构体)变量初始化时,有一些语法限制。
- 初始化表达式必须含类型标签。
- 左花括号必须在类型尾部,不能另起一行。
- 多个成员初始值以逗号分隔。
- 允许多行,但每行须以逗号或右花括号结束。
type data struct{
x int
s string
}
var d data = {1, "abc"} // 语法错误:unexpected{ (缺类型标签)
d := data
{ // 语法错误:unexpected semicolon or newline(左花括号不能另起一行)
1,
"abc"
}
d := data{
1,
"abc" // 语法错误:need trailing comma before newline(须以逗号或右花括号结束)
}