[Go] 复合类型(数组、切片、字典、结构体)变量的 初始化 及 注意事项
Go变量 初始化
对 复合类型(数组、切片、字典、结构体)变量的初始化是,有一些语法限制:
1、初始化表达式必须包含类型标签;
2、左花括号必须在类型尾部,不能另起一行;
3、多个成员初始值以逗号分隔;
4、允许多行,但每行须以逗号 或 右花括号结束;
正确示例:
type data struct { x int s string } var a data = data{1, "abc"} b := data{ 1, "abc", } c := []int{ 1, 2} d := []int{1, 2, 3, 4, 5, }
错误示例:
var d data = {1, "abc"} // 语法错误:unexpected { (缺类型标签) d := data { // 语法错误:unexpected semicolon or newline(左花括号不能另起一行) 1, "abc" } d := data{ 1, "abc" // 语法错误:need trailing comma before newline(须以逗号 或 右花括号结束) }