Go 数组的使用
数组声明、数组长度以及数组的遍历
func test002() {
//声明一个空数组,长度为5
var arr [5]int
fmt.Println(arr)
//声明时对数组进行初始化
var arr1 = [5]int{14, 23, 45, 56, 3}
fmt.Println(arr1)
//段声明方式
arr2 := [5]int{34, 5, 64, 322, 443}
fmt.Println(arr2)
//部分初始化,未初始化的零值
arr3 := [5]int{34, 56}
fmt.Println(arr3)
//通过指定索引,方便对数组某几个元素赋值
arr4 := [5]int{1: 45, 4: 67}
fmt.Println(arr4)
//直接用 ...让编译器为我们计算数组长度
arr5 := [...]int{34, 5, 64, 322, 443}
fmt.Println(arr5)
//打印数组的长度
fmt.Println("数组的长度:", len(arr5))
//遍历数组
for index, value := range arr5 {
fmt.Println("数组索引:", index)
fmt.Println("数组数值:", value)
}
//如果不使用某个变量的时候,可以用下划线代替掉
for _, value := range arr5 {
fmt.Println("数组数值:", value)
}
}
数组是数值类型
func test3() {
/**
Go 中的数组是值类型的而不是引用类型,当数组赋值给一个新的变量时,该变量会得到一个原始数组的一个副本
如果对新的变量进行更改,不会影响原始数组
*/
arrStr := [5]string{"you", "name", "I", "good"}
copyStr := arrStr
//修改索引为3的值
copyStr[3] = "go"
fmt.Println("新数组:", copyStr)//打印:新数组: [you name I go ]
fmt.Println("旧数组:", arrStr)//打印:旧数组: [you name I good ]
}