一.一维数组
ar arr1 [5]int//初始为0
arr2 := [3]int{1, 2, 3} //这种方式必须初始化
arr3 := [...]int{2, 4, 6, 8, 10} //这种方式必须初始化
fmt.Println(arr1, arr2, arr3)
结果:
二.二维数组
var grid [4][5]int
fmt.Println(grid)
三.遍历数组
方法一:
arr3 := [...]int{2, 4, 6, 8, 10} //这种方式必须初始化
for i := 0; i < len(arr3); i++ {
fmt.Println(arr3[i])
}
方法二:使用range
arr3 := [...]int{2, 4, 6, 8, 10} //这种方式必须初始化
for i := range arr3 {
fmt.Println(arr3[i])
}
方法三:使用range
arr3 := [...]int{2, 4, 6, 8, 10} //这种方式必须初始化
for i, v := range arr3 {//i代表第几个元素,v第i个元素值
fmt.Println(i, v)
四.数组作为函数参数
1.作为函数参数必须要指定大小。
func printArray(arr [5]int) { //这里数组必须要加初始大小
for i, v := range arr {
fmt.Println(i, v)
}
}
func main() {
var arr1 [5]int
arr3 := [...]int{2, 4, 6, 8, 10}
fmt.Println("arr1")
printArray(arr1)
fmt.Println("arr3")
printArray(arr3)
}
2.go语言数组传递为值传递,不能改变数组元素值
func printArray(arr [5]int) { //这里数组必须要加初始大小
arr[0] = 2021
}
func main() {
var arr1 [5]int
printArray(arr1)
fmt.Println("arr1")
fmt.Println(arr1)
}
结果:
3.可以使用指针,改变数组元素值
func printArray(arr *[5]int) { //这里数组必须要加初始大小
arr[0] = 2021
}
func main() {
var arr1 [5]int
printArray(&arr1)
fmt.Println("arr1")
fmt.Println(arr1)
}
结果: