数组的用法
数组的定义 长度定义好 不能动态改变
第1种
var s [3]int //长度定义好 不能动态改变
var str [3]string
s[0] = 1
s[1] = 2
s[2] = 3
fmt.Println(s) //[1 2 3]
fmt.Println(str) //[ ]
第2种
var arr1 = [3]string{"php", "java", "golang"}
arr2 := [3]string{"php", "java", "golang"}
fmt.Println(arr1, arr2) //[php java gplang] [php java gplang]
第3种
var arr3 = [...]int{1, 2, 3, 4, 56, 6}
fmt.Println(arr3) //[1 2 3 4 56 6]
第4 种 用的少
arr4 := [...]int{0: 1, 1: 12, 2: 56}
fmt.Println(arr4) //[1 12 56]
用法
1.len(arr) 获取数组长度 2.数组循环 用 for 或 for range
for _, v := range arr4 {
fmt.Println(v)
}
注意
数组是值类型
var arr5 = [...]int{1, 23}
arr6 := arr5
arr5[0] = 10
fmt.Println(arr5) // [10,23]
fmt.Println(arr6) // [1,23]
切片是引用数据类型
var arr7 = []int{1, 23}
arr8 := arr7
arr7[0] = 10
fmt.Println(arr7) // [10,23]
fmt.Println(arr8) // [10,23]
多维数组的定义
var _arr = [3][2]int{
{1, 2}, {3, 5}, {7, 4},
}
var _arr1 = [...][2]int{
{1, 2}, {3, 5}, {7, 4},
}
fmt.Println(_arr)//[[1 2 0] [3 5 0] [7 4 0]]