编程语言8、数组-GOLANG
xiu数组概念
固定长度并且有序的一种集合,用于收集同种类型的元素
声明数组并访问元素
声明两个数组
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| package main
import "fmt"
func main() {
var name [3]string var age [3]int
name[0] = "xiu" name[1] = "小明" name[2] = "小红"
age[0] = 18 age[1] = 7 age[2] = 8
fmt.Printf("姓名:%v\n年龄:%v", name[0], age[0])
}
|
注意不要索引越界,上述两个数组长度都为3,当我们访问name[3]的时候编译就会报错,千万记住索引是从0开始
快速初始化数组
planets:行星,星球
dwarfs:矮行星
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| package main
import "fmt"
func main() {
dwarfs := [5]string{ "Ceres", "Pluto", "Haumea", "Makemake", "Eris", } fmt.Println(dwarfs) plants := [...]string{ "Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", } fmt.Println(plants) }
|
迭代/遍历数组
我们会发现上面的例子会全数打印数组,我们想要一个个打印相关元素,利用for循环实现一个个打印元素
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| package main
import "fmt"
func main() {
dwarfs := [5]string{ "Ceres", "Pluto", "Haumea", "Makemake", "Eris", } plants := [...]string{ "Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune", }
for i := 0; i < len(dwarfs); i++ { fmt.Println(i, dwarfs[i]) } for i, plants := range plants { fmt.Println(i, plants) } }
|
二维数组
即数组中的元素也是数组
1 2 3 4 5 6 7 8 9 10 11 12 13
| package main
import "fmt"
func main() { var board [8][8]string board[0][0] = "r" board[0][7] = "r" for i := range board[1] { board[1][i] = "p" } fmt.Print(board) }
|