[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(须以逗号 或 右花括号结束)
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值