开发者学堂课程【Go语言核心编程 - 基础语法、数组、切片、Map:二维数组的介绍和入门】与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/625/detail/9651
二维数组的介绍和入门
内容介绍:
一、二维数组的介绍
二、二维数组的应用场景
三、二维数组的快速入门
一、二维数组的介绍
二维数组是多维数组最简单的一个。所谓二维数组就是一维数组里面的元素又是数组。二维数组是在一维数组上面扩展的。之前学的一维数组的元素就是基本数据类型:int、float、string...,二维数组就是一维数组里面的元素又是一维数组。
二、二维数组的应用场景
1.应用场景举例
比如说开发一个五子棋游戏,五子棋游戏里面的棋盘就是一个二维数可以构成的;比如说之前讲java的时候写的一个基于递归的迷宫游戏,迷宫游戏也是二维数组构成的。如图:
2.感受迷宫游戏
出现游戏,里面可以画一些遮挡物品
当点击游戏上面“走”的时候,迷宫左上角会出现一个小球(图中左上角红圈位置),当小球走到了右下角(图中右下角红圈位置),就证明迷宫已经走完了。
3.迷宫游戏演示
小球走着走着会回去一下,是因为它应用的是回溯算法。
三、二维数组的快速入门
快速入门案例:
请用二维数组输出以下图形
000000
001000
020300
000000
1.代码演示
package main
import (
“
fmt
”
func main() {
//二维数组的演示案例
/*
000000
001000
020300
000000
*/
//定义/声明二维数组
var arr [4]int
//前面有4个变数,所以写入4
//表示 int 数组里面有4元素,但是现在每个里面不是 int 了,二又是一个数组,所以:
var arr [4][6]int
//这里有一个一维数组可以放元素,但是每个元素又是一个一维数组
//赋初值
//赋初值的话第一排0就不需要去改动了
//但是如果不赋初值直接输出的话就会出现全部为0
fmt.Println(arr)
}
2.输出001000、020300
//赋初值
//如果想按照001000、020300输出就需要:
arr[1][2] = 1
arr[2][1] = 2
arr[2][3] = 3
fmt.Println(arr)
}
3.赋初值
//赋初值
arr[1][2] = 1
arr[2][1] = 2
arr[2][3] = 3
//遍历二维数组,按照要求输出图形
//既然它是二维数组,我们就需要把每一个一维数组遍历出来
//这一个二维数组有四个一维数组
for i := 0; i < 4; i++ {
fmt.Println(arr[i])
//如果这样子输出就相当于每遍历一次就把一维数组读出来了
}
4.要求一维数组一个一个遍历
//赋初值
//如果想按001000、020300输出就需要:
arr[1][2] = 1
arr[2][1] = 2
arr[2][3] = 3
//遍历二维数组,按照要求输出图形
for i := 0; i < 4; i++ {
for j := 0; j < 6; j++ {
fmt.Print(arr[i][j],
””
)
//等到for循环走完了之后,一维数组就遍历完了
}
//之后,换行符
fmt.Println()
}
}
5.完整代码
package main
import (
“
fmt
”
)
func main() {
//二维数组的演示案例
/*
000000
001000
020300
000000
*/
//定义/声明二维数组
var arr [4][6]int
//赋初值
arr[1][2] = 1
arr[2][1] = 2
arr[2][3] = 3
//遍历二维数组,按照要求输出图形
for i := 0; i < 4; i++ {
for j := 0; j < 6; j++ {
fmt.Print(arr[i][j],
””
)
}
fmt.Println()
}
}