数组
初始化
数组可以保存指定长度的多个数据,且这些数据的类型都相同,数据类型可以是原始类型,如整型和字符串等,也可以是自定义类型。
数组通过索引来访问元素,索引从 0
开始,第一个元素的索引为 0
,第二个为 1
,依此类推。
在 Go 语言中声明数组的格式为:
1var variable [len]type
例如,声明名称为 arr1
,长度和类型分别为 5
和 int
的数组:
1var arr1 [5]int
我们可以让编译器根据元素个数自动推断数组长度,只需要在声明长度时用 ...
替代:
1var numArray = [...]int{
1, 2, 3}
我们还可以根据索引来声明数组:
1a := [...]string{
0: "北京", 1: "上海"} // 索引 0 对应的元素为"北京",1 对应的元素为"上海"
整型数组中所有元素都初始化为 0,数组 arr
中第 i
个元素为 arr[i - 1]
,最后一个元素为 arr[len(arr) - 1]
。
数组是可变的,可以通过索引对元素进行赋值:arr[1] = 1
。
注意:在程序中若索引超出数组最大有效索引,会引发
index out of range
错误。
遍历数组
普通 for 循环
1package main
2
3import "fmt"
4
5func main() {
6 a := [...]int{ 2, 4, 6, 8, 10}
7
8 for i := 0; i < len(a); i++ {
9 fmt.Println(a[i])
10 }
11}for-range 循环
1package main
2
3import "fmt"
4
5func main() {
6 a := [...]int{ 2, 4, 6, 8, 10}
7
8 for k, v := range a {
9 fmt.Println(k, v)
10 }
11}