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

2023年 7月 15日 58.1k 0

请输入图片描述

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

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]]

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类型

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论