与变量的简短声明一样,数组也可以简短声明。如果在数组的长度位置出现的是“...”省略号,则表示数据的长度是根据初始化值得个数来计算。
a := [3]int{1, 2, 3} // 长度为3的数组
b := [5]int{1, 2, 3} //长度为10,前三个元素为1、2、3,其它默认为0
c := [...]int{4, 5, 6} //长度3的方式,Go自动计算长度
r := [...]int{9: 6} //长度为10,最后一个元素的值为6,其它默认为0
arr2 := [2][4]int{{1, 2, 3, 4}, {5, 6, 7, 8}}//二维数组
3 元素访问
数组的每个元素通过索引下标来访问,内置的len函数将返回数组中元素的个数。
arr := [...]int{1, 2, 3, 4, 5}
len := len(arr) //len获取数组长度
fmt.Println("修改前:", arr)
arr[0] = 100 //下标访问数组元素
fmt.Println("修改后:", arr)
fmt.Println("数组长度:", len)
打印结果:
修改前: [1 2 3 4 5]
修改后: [100 2 3 4 5]
数组长度: 5
4 数组遍历
两种遍历方式,其中range表达式遍历有两个返回值,第一个是索引,第二个是元素的值。示例如下:
arr := [...]int{1, 2, 3, 4, 5}
len := len(arr) //len获取数组长度
for i := 0; i < len; i++ {
fmt.Println(i, arr[i])
}
for i, v := range arr {
fmt.Println(i, v)
}
5 作为函数参数