4.1 数组
基本特性
固定长度、同类型元素序列。长度是类型的一部分,[3]int 和 [4]int 是不同类型。元素默认零值初始化。
声明与初始化
var a [3]int // [0 0 0]
q := [3]int{1, 2, 3} // 指定值
q := [...]int{1, 2, 3} // 由初始值推断长度
r := [...]int{99: -1} // 100 个元素,最后一个为 -1
symbol := [...]string{USD: "$", RMB: "¥"} // 按索引初始化
比较
元素类型可比较时,数组支持 == 和 !=,逐元素比较。不同长度的数组不能比较。
函数传参
数组是值传递(整体复制),修改副本不影响原数组。传大数组低效,可用指针 *[32]byte 避免复制。实际开发中一般用 slice 替代数组。