数组声明 Link to heading
数组就是数据的集合,声明时候需要指定数据长度和类型,之后不能修改
var arr [5]int16
// 打印 [0,0,0,0,0] 默认值
fmt.Println(arr)
数组在内存中是多个连续的地址
数组赋值 Link to heading
// 声明后赋值,索引操作
var arr [5]int16
arr[0] = 10
fmt.Println(arr)
// 声明并赋值
var arr1 = [5]string{"a", "s", "d", "f", "g"}
fmt.Println(arr1)
// ...会自动匹配长度
var arr2 = [...]string{"a", "s", "d", "f", "g", "p"}
fmt.Println(arr1)
// 给特定索引赋值
var arr3 = [...]string{0: "we", 2: "are", 4: "young"}
fmt.Println(arr1)
数组切片 Link to heading
数组[start:end],取前不取后
var arr4 = [5]int16{1, 2, 3, 4, 5}
s := arr4[1:3]
// [2,3]
fmt.Println(s)
s := arr4[:3]
// [1,2,3]
fmt.Println(s)
s := arr4[1:]
// [2,3,4,5]
fmt.Println(s)
数组遍历 Link to heading
数组遍历推荐用range函数
// 遍历数组
for i := 0; i < len(arr1); i++ {
fmt.Println(i, arr1[i])
}
// range遍历
for i, v := range arr2 {
fmt.Println(i, v)
}