跳到主要内容

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 列
}