数组的定义
// 方法一:必须指定数组的容量
var arrayOne [3]int
arrayOne[0] = 100
arrayOne[1] = 200
arrayOne[2] = 300
fmt.Println("arrayOne value:", arrayOne)
// 方法二:直接在定义时初始化,我们定义容量为3,但是只初始化了前两个元素,剩下的值会被初始化定义类型的零值
arrayTwo := [3]int{1, 2}
fmt.Println("arrayTwo value:", arrayTwo, "len", len(arrayTwo), "cap:", cap(arrayTwo))
// 方法三:只初始化值,不指定具体的长度,golang会自动推导长度,此时长度就固定了
arrayThree := [...]int{1, 2, 3, 4}
fmt.Println("arrayThree value:", arrayThree, "len", len(arrayThree), "cap:", cap(arrayThree))
数组的访问
使用下标访问
// 定义容量为6的数组
arrayThree := [6]int{1, 200, 3, 4}
// 访问下标为1的元素
fmt.Println("arrayThree index 1 value:", arrayThree[1])
数组元素值的覆盖
// 方法一:必须指定数组的容量
var arrayOne [3]int
arrayOne[0] = 100
fmt.Println("arrayOne[0] value:", arrayOne[0])
// 对其进行覆盖
arrayOne[0] = 6666
fmt.Println("arrayOne[0] value:", arrayOne[0])
数组的遍历
arrayThree := [6]int{1, 200, 3, 4}
for index, value := range arrayThree {
fmt.Println("下标 index:", index, "元素值 value:", value)
}
越界访问
下标越界的场景,定义了容量为6个元素的数组,访问下标为7的元素
arrayThree := [6]int{1, 2, 3, 4}
arrayThree[7] = 5
fmt.Println("arrayThree value:", arrayThree)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。