go 语言学习笔记④----数组
定义
var arr [3(数组大小)]int
初始化
定义时赋值 1.全部赋值
var a [5]int = [5]int{1, 2, 3, 4, 5}
b := [5]int{6, 7, 8, 9, 10}
2.部分赋值 未赋值的部分值为0
a := [5]int{1, 2, 3}
b := [5]int{2: 10, 3: 20}
二维数组
定义
var arr [3][4]int
初始化
1.全部赋值
var a [2][2]int = [2][2]int{{1, 2}, {3, 4}}
b := [2][2]int{{5, 6}, {7, 8}}
2.部分赋值 未赋值的部分值为0
a := [2][2]int{{1, 2}}
b := [2][2]int{1: {7, 8}}
遍历
package main
import "fmt"
func main() {
a := [2][2]int{{1, 2}}
b := [2][2]int{1: {7, 8}}
for i := 0; i < 2; i++ {
for j := 0; j < 2; j++ {
fmt.Println(a[i][j])
}
}
for i := 0; i < 2; i++ {
for j := 0; j < 2; j++ {
fmt.Println(b[i][j])
}
}
}
比较
两个数组之间可以比较 支持== 和 != 两个数组每一个元素是不是一样 2个比较数组比较类型要一样
package main
import "fmt"
func main() {
a := [2][2]int{{1, 2}}
b := [2][2]int{1: {7, 8}}
fmt.Println(a == b)
}
数组作为参数传给函数
不同于c语言, go语言时值传递, 将数组的值拷贝给形参 将数组的地址传给函数(&数组名)
|