美文网首页Go Lang 实战
Go数据-数组(二)

Go数据-数组(二)

作者: 草莓君_ | 来源:发表于2019-08-01 20:18 被阅读0次

    定义数组类型时,数组长度必须时非负正整数常量表达式,长度是类型组成部分。也就是说,元素类型相同,但长度不同的数组不属于同一类型。

    初始化方式

    func main() {
        var a [4]int               //元素自动初始化为零
        b := [4]int{2, 5}          //未提供初始值的元素自动初始化位 0
        c := [4]int{5, 3: 10}      //可指定索引位置初始化
        d := [...]int{1, 2, 3}     //编译器按初始化值数量确定数组长度
        e := [...]int{10, 3: 100}  //支持索引初始化,但注意数组长度与此有关
        fmt.Println(a, b, c, d, e)
    }
    

    输出:

    [0 0 0 0]
    [2 5 0 0]
    [5 0 0 10]
    [1 2 3] 
    [10 0 0 100]
    

    2.定义多为数组时,仅第一维度允许使用“...”。

    func main() {
        a := [2][2]int{{1,2},{3,4}}
        b := [...][2]int{{10,29},{30,40}}
        c := [...][2][2]int{{{1,2},{3,4}},{{10,20},{30,40}}}
        fmt.Println(a)
        fmt.Println(b)
        fmt.Println(c)
    }
    

    输出:

    [[1 2] [3 4]]
    [[10 29] [30 40]]
    [[[1 2] [3 4]] [[10 20] [30 40]]]
    

    相关文章

      网友评论

        本文标题:Go数据-数组(二)

        本文链接:https://www.haomeiwen.com/subject/ufthdctx.html