# 一维数组的定义与初始化
func test(){
var a [5]int
var a2 [5]int = [5]int{1,2,3,4,5}
a3 := [5]int{1,2,3}
a4 := [5]int{2:2,4:4}
fmt.Println(a)
fmt.Println(a2)
fmt.Println(a3)
fmt.Println(a4)
}
=========
[0 0 0 0 0]
[1 2 3 4 5]
[1 2 3 0 0]
[0 0 2 0 4]
# 二维数组初始化
func Test(){
var a [3][4]int
a1 := [3][4]int{{1,2},{1,2,3,4},{1}}
a2 := [3][4]int{1:{1,2}}
fmt.Println(a)
fmt.Println(a1)
fmt.Println(a2)
}
==========
[[0 0 0 0] [0 0 0 0] [0 0 0 0]]
[[1 2 0 0] [1 2 3 4] [1 0 0 0]]
[[0 0 0 0] [1 2 0 0] [0 0 0 0]]
# 数组遍历
for i := 0; i < len(a2); i++ {
for j := 0; j < len(a2[i]); j++ {
fmt.Print(a2[i][j])
fmt.Print(" ")
}
fmt.Println()
}
# 数组的赋值与比较
a := [3]int{1,2,3}
b := [3]int{1,1,1}
var c [3]int = a
fmt.Println(a == c)
fmt.Println(b == c)
===================================
true
false
# 数组作为函数参数是值传递 数组指针传递
func test1(a [3]int){
a[0] = 333
fmt.Println(a)
}
func test3(p *[3]int){
(*p)[0]=333
}
a := [3]int{1,2,3}
test1(a)
test3(&a)