代码
package main
import "fmt"
func main() {
// ===== 定义定长数组 =====
fmt.Println("===== 1、定义定长数组 =====")
// 方法一(常用)
//arr1 := [10]int{}
arr2 := [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
// 方法二
//var arr3 = [10]int{}
//var arr4 = [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
// 方法三
//var arr5 [10]int = [10]int{}
//var arr6 [10]int = [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 0}
// ===== 2、遍历定长数组 =====
fmt.Println("===== 2、遍历定长数组 =====")
// 方法一
fmt.Println("方法1:for")
for i := 0; i < len(arr2); i++ {
fmt.Println("i:", i, "v", arr2[i])
}
// 方法2(常用)for range
fmt.Println("方法2:for range")
for k, v := range arr2 {
// 【重要】v全程只是一个变量,不断被重新赋值!所以修改v时不会被重新赋值!
fmt.Println("k:", k, "v:", v)
}
// 忽略key
fmt.Println("忽略key")
for _, v := range arr2 {
fmt.Println("【忽略key】v:", v)
}
// 忽略value
fmt.Println("忽略value")
//for k, _ := range arr2 {
for k := range arr2 {
fmt.Println("【忽略v】k:", k)
}
// 忽略key和value
fmt.Println("忽略key和value")
//for _, _ = range arr2 {
for range arr2 {
fmt.Println("【忽略key和value】")
}
}
结果
ASUS@DESKTOP-NFP9SLA MINGW64 /c/gowork/src
$ go run 011_array.go
===== 1、定义定长数组 =====
===== 2、遍历定长数组 =====
方法1:for
i: 0 v 1
i: 1 v 2
i: 2 v 3
i: 3 v 4
i: 4 v 5
i: 5 v 6
i: 6 v 7
i: 7 v 8
i: 8 v 9
i: 9 v 0
方法2:for range
k: 0 v: 1
k: 1 v: 2
k: 2 v: 3
k: 3 v: 4
k: 4 v: 5
k: 5 v: 6
k: 6 v: 7
k: 7 v: 8
k: 8 v: 9
k: 9 v: 0
忽略key
【忽略key】v: 1
【忽略key】v: 2
【忽略key】v: 3
【忽略key】v: 4
【忽略key】v: 5
【忽略key】v: 6
【忽略key】v: 7
【忽略key】v: 8
【忽略key】v: 9
【忽略key】v: 0
忽略value
【忽略v】k: 0
【忽略v】k: 1
【忽略v】k: 2
【忽略v】k: 3
【忽略v】k: 4
【忽略v】k: 5
【忽略v】k: 6
【忽略v】k: 7
【忽略v】k: 8
【忽略v】k: 9
忽略key和value
【忽略key和value】
【忽略key和value】
【忽略key和value】
【忽略key和value】
【忽略key和value】
【忽略key和value】
【忽略key和value】
【忽略key和value】
【忽略key和value】
【忽略key和value】