GO语言学习之多维数组

多维数组适合场景:

    适合管理具有父子关系或者与坐标系相关联的数据

声明多维数组的语法

var array_name [size1][size2]...[sizeN] arry_type

#其中:array_name为数组的名字
size1、size2、sizeN等是数组每一个维度的 长度
array_type:是数组的类型,例如:int、string等

示例1

//声明一个多维整型数组,两个维度的长度分别为4和2
//声明一个多维数组,有4组,每组都有两个元素
var arry01 [4][2]int //初始化一个二维整型数组,并打印结果 arry01 = [4][2]int{{10,11},{20,21},{30,31},{40,41}} fmt.Println(arry01) //结果: [[10 11] [20 21] [30 31] [40 41]]

示例2

//声明一个多维整型数组,两个维度的长度分别为4和2
    var arry02 [4][2]int
//初始化该数组中索引为1和3的元素,并打印结果
    arry02 = [4][2]int{1:{100,101},3:{200,201}}
    fmt.Println(arry02)
//结果:
[[0 0] [100 101] [0 0] [200 201]]   #其他没初始化的元素,会有默认值,int就是0,string就是空

//初始化索引为1的元素,把里面的值100改成101
//初始化索引为3的元素,把里面的值201改成200
    arry02 = [4][2]int{1:{101,101},3:{200,200}}
    fmt.Println(arry02)
//结果:
[[0 0] [101 101] [0 0] [200 200]]

下图展示了上面示例1和2中声明的二维数组在每次声明并初始化之后包含的值

 

 示例3:为二维数组的每个元素赋值

    
        var array03 [2][2]int  //声明一个2 x 2的二维整型数组
    fmt.Println(array03)   //打印没赋值的数组
    array03[0][0] = 10     //给索引为0的元素里,0下标的值 赋值为10
    fmt.Println(array03)
    array03[0][1] = 20     //给索引为0的元素里,1下标的值 赋值为20
    fmt.Println(array03)
    array03[1][0] = 30     //给索引为1的元素里,0下标的值 赋值为30
    fmt.Println(array03)
    array03[1][1] = 40     //给索引为1的元素里,1下标的值 赋值为40
    fmt.Println(array03)

//查看打印结果:
[[0 0] [0 0]]
[[10 0] [0 0]]
[[10 20] [0 0]]
[[10 20] [30 0]]
[[10 20] [30 40]]

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2020-09-28 16:47  差点点温柔  阅读(686)  评论(0编辑  收藏  举报