linuxea:go多维数组和三维数组(20)


多维数组中是不可以用自动推导的。

2.1多维数组的定义

数组中的多维数组。定义一个数组长度为3,并定义长度为2的int数组,如下:

[3][2]int

[3]为元素的数量,[2]int为类型,2是长度

package main

import "fmt"

func main() {

    var marrays [3][2]int
    fmt.Println(marrays)
}

打印

[root@www.linuxea.com /opt/Golang/work2]# go run array2.go 
[[0 0] [0 0] [0 0]]

2.2多维数组的查询

和数组一样,我们使用索引查看第一数组,直接使用索引即可,如下:

fmt.Println(marrays[0])

如果访问的是索引为0中的第一个元素,如下:

fmt.Println(marrays[0][0])

如下:

package main

import "fmt"

func main() {

    var marrays [3][2]int
    fmt.Println(marrays)
    fmt.Println(marrays[0])
    fmt.Println(marrays[0][0])
}

打印

[root@www.linuxea.com /opt/Golang/work2]# go run array2.go
[[0 0] [0 0] [0 0]]
[0 0]
0

2.3多维数组的修改

尝试对第一个索引元素修改。

索引0,长度为2的int类型,修改如下:

marrays[0] = [2]int{1,2}

如下:

package main

import "fmt"

func main() {

    var marrays [3][2]int
    marrays[0] = [2]int{1,2}
    fmt.Println(marrays)
}

打印:

[root@www.linuxea.com /opt/Golang/work2]# go run array2.go 
[[1 2] [0 0] [0 0]]

在修改索引为1的元素

    marrays[1] = [2]int{100,200}
    fmt.Println(marrays)

如下:

package main

import "fmt"

func main() {

    var marrays [3][2]int
    marrays[0] = [2]int{1,2}
    fmt.Println(marrays)
    marrays[1] = [2]int{100,200}
    fmt.Println(marrays)

}

运行:

[root@www.linuxea.com /opt/Golang/work2]# go run array2.go 
[[1 2] [0 0] [0 0]]
[[1 2] [100 200] [0 0]]

多维数组也可以进行遍历的。如下:

package main

import "fmt"

func main() {
    var marrays [3][2]int
    marrays[0] = [2]int{1,2}
    marrays[1] = [2]int{100,200}

    for index,key := range marrays {
        fmt.Println(index,key)
    }
}

运行

[root@www.linuxea.com /opt/Golang/work2]# go run array2.go 
0 [1 2]
1 [100 200]
2 [0 0]

2.4多维度数组字面量

多维数组中是不可以用自动推导的。

[root@www.linuxea.com /opt/Golang/work2]# cat array2.go
package main

import "fmt"

func main() {
    marrays = [3][2]int{{1,2},{3,4},{5,6}}
    fmt.Println(marrays)
}

运行

[root@www.linuxea.com /opt/Golang/work2]# go run array2.go 
[[1 2] [3 4] [5 6]]

I. 3.三维数组

3.1三维数组定义

定义一个三维数组,长度为3,二维数组,长度为5的int类型

var m3 [3][2][5]int

如下:

package main

import "fmt"

func main() {
    var m3 [3][2][5]int
    fmt.Println(m3)
}

运行

[root@www.linuxea.com /opt/Golang/work2]# go run array2.go 
[[[0 0 0 0 0] [0 0 0 0 0]] [[0 0 0 0 0] [0 0 0 0 0]] [[0 0 0 0 0] [0 0 0 0 0]]]

如上所示,三位数组长度为3,二维数组长度为2,长度为5的int类型

0 分享

您可以选择一种方式赞助本站

支付宝扫码赞助

支付宝扫码赞助

日期: 2019-10-28分类: Golang

标签: Golang

发表评论