array
基本概念
概念
- array: 固定长度、元素类型相同的值序列;
- 长度: array 类型的一部分,
[3]int和[4]int是不同类型; - 值语义: 赋值和传参会复制整个数组;
语法格式
func main() {
var nums [3]int // 固定长度数组; 元素零值为 0
nums[0] = 10 // 数组索引从 0 开始
println(nums[0], len(nums))
}
初始化
语法格式
func main() {
a := [3]int{1, 2, 3} // 显式长度数组字面量
b := [...]int{1, 2, 3} // 由元素数量推导数组长度
c := [5]int{1: 10, 3: 30} // 指定索引初始化; 未指定元素为零值
println(a[0], b[1], c[3])
}
数组等价
概念
- array 可比较条件: 元素类型可比较;
- 数组相等: 长度相同、元素类型相同、每个元素相等;
- 类型差异:
[2]int和[3]int不是同一类型;
语法格式
func main() {
a := [2]int{1, 2}
b := [2]int{1, 2}
println(a == b) // true
}
多维数组
语法格式
func main() {
matrix := [2][3]int{{1, 2, 3}, {4, 5, 6}} // 2 行 3 列数组
println(matrix[1][2]) // 访问第 2 行第 3 列
}