Go二维数组
Posted yzg-14
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go二维数组相关的知识,希望对你有一定的参考价值。
1. 二维数组定义(声明)
package main import ( "fmt" ) func main() { //二维数组的演示案例 /* 0 0 0 0 0 0 0 0 1 0 0 0 0 2 0 3 0 0 0 0 0 0 0 0 */ //定义/声明二维数组 var arr [4][6]int //赋初值 arr[1][2] = 1 arr[2][1] = 2 arr[2][3] = 3 //遍历二维数组,按照要求输出图形 for i := 0; i < 4; i++ { for j := 0; j < 6; j++ { fmt.Print(arr[i][j], " ") } fmt.Println() } fmt.Println() var arr2 [2][3]int //以这个为例来分析arr2在内存的布局!! arr2[1][1] = 10 fmt.Println(arr2) fmt.Printf("arr2[0]的地址%p ", &arr2[0]) //arr2[0]的地址0xc00000c2d0 fmt.Printf("arr2[1]的地址%p ", &arr2[1]) //arr2[1]的地址0xc00000c2e8 fmt.Printf("arr2[0][0]的地址%p ", &arr2[0][0]) //arr2[0][0]的地址0xc00000c2d0 fmt.Printf("arr2[1][0]的地址%p ", &arr2[1][0]) //arr2[1][0]的地址0xc00000c2e8 //148-130 = 18 fmt.Println() //声明并初始化 arr3 := [2][3]int{{1,2,3}, {4,5,6}} fmt.Println("arr3=", arr3) }
2. 二维数组的遍历
package main import ( "fmt" ) func main() { //演示二维数组的遍历 var arr3 = [2][3]int{{1,2,3}, {4,5,6}} //for循环来遍历 for i := 0; i < len(arr3); i++ { for j := 0; j < len(arr3[i]); j++ { fmt.Printf("%v ", arr3[i][j]) } fmt.Println() } //for-range来遍历二维数组 for i, v := range arr3 { for j, v2 := range v { fmt.Printf("arr3[%v][%v]=%v ",i, j, v2) } fmt.Println() } }
以上是关于Go二维数组的主要内容,如果未能解决你的问题,请参考以下文章