1.1.1. 一、二维数组的声明:

多维数组里面分析二维数组就行了。其他的以二维数组类推。二维数组就是数组里面的元素是另一个数组。

1、直接声明:

 // 示例: var intArr [3][2]int

var intArr [3][2]int包含了下面几个意义:

  • 第1维有3个元素,整个数组的长度len(intArr)是3。
  • 第1维的每个元素都是一个数组,这个数组包含2个元素。
  • 第2维是一个数组[2]int。这个数组整体是第1维的一个元素。

2、声明的时候初始化

var 数组名 [大小][大小]类型 = [大小][大小]类型{ {初值..},{初值..} }

// 示例:var intArr [3][2]int = [3][2]int{ {3,5},{59,14} }
//fmt.Println(intArr)//只初始化2排,第3排是零值 [[3 5] [59 14] [0 0]]

3、其他类似于一维数组的声明:

  • var 数组名 [大小][大小]类型 = [大小][大小]类型{ {初值..},{初值..} }
  • 省略第1维的长度: var 数组名 [大小][大小]类型 = [...][大小]类型{ {初值..},{初值..} }
  • 省略类型:var 数 组名 = [大小][大小]类型{ {初值..},{初值..} }
  • 省略类型并且省略第1维的长度:var 数 组名 = [...][大小]类型{ {初值..},{初值..} }

示例如下:

    //声明二维数组,第一维3个元素,第二维2个元素
    var intArr [3][2]int
    // 赋值:第1维
    intArr[0][0] = 3
    intArr[0][1] = 5
    // 赋值:第2维
    intArr[1][0] = 59
    intArr[1][1] = 14
    // 赋值:第3维
    intArr[2][0] = 78
    intArr[2][1] = 32

    //[[3 5] [59 14] [78 32]]
    fmt.Println(intArr)

1.1.2. 二、二维数组的变量。

1、两个循环遍历。

    var intArr [3][2]int = [3][2]int{ {3,5},{59,} }
    fmt.Println(intArr) // [[3 5] [59 0] [0 0]]

    level2len := len(intArr[0])
    //循环遍历
    for i := 0; i< len(intArr); i++  {
        for j := 0; j < level2len; j++  {
            fmt.Printf("intArr[%v][%v]=%v \n",i,j,intArr[i][j])
        }
    }

2、for-ange 遍历。

    var intArr [3][2]int = [3][2]int{ {3,5},{59,} }

    //循环遍历
    for i,v1 := range intArr{
        for j,v2 := range v1  {
            fmt.Printf("intArr[%v][%v]=%v \n",i,j,v2)
        }
    }

results matching ""

    No results matching ""