Go Lang 实战

Go数据-数组(二)

2019-08-01  本文已影响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]]]
上一篇下一篇

猜你喜欢

热点阅读