多维数组中是不可以用自动推导的。
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类型