46_Go基础_1_13 arr-2

 1 package main
 2 
 3 import "fmt"
 4 
 5 func main() {
 6     /*
 7         一维数组:存储的多个数据是数值本身
 8             a1 :=[3]int{1,2,3}
 9 
10         二维数组:存储的是一维的一维
11             a2 := [3][4]int{{},{},{}}
12 
13             该二维数组的长度,就是3。
14             存储的元素是一维数组,一维数组的元素是数值,每个一维数组长度为4。
15 
16         多维数组:。。。
17     */
18 
19     a2 := [3][4]int{{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}
20     fmt.Println(a2)                        // [[1 2 3 4] [5 6 7 8] [9 10 11 12]]
21     fmt.Printf("二维数组的地址:%p\n", &a2)        // 0xc000086060
22     fmt.Printf("二维数组的长度:%d\n", len(a2))    // 3
23     fmt.Printf("一维数组的长度:%d\n", len(a2[0])) // 4
24     fmt.Println(a2[0][3])                  // 4
25     fmt.Println(a2[1][2])                  // 7
26     fmt.Println(a2[2][1])                  // 10
27 
28     // 遍历二维数组
29     for i := 0; i < len(a2); i++ {
30         for j := 0; j < len(a2[i]); j++ {
31             fmt.Print(a2[i][j], "\t")
32         }
33         fmt.Println()
34     }
35 
36     fmt.Println("---------------------")
37 
38     // for range 遍历二维数组
39     for _, arr := range a2 {
40         for _, val := range arr {
41             fmt.Print(val, "\t")
42         }
43         fmt.Println()
44     }
45 }