数组
- 定义:由若干相同类型的元素组成的序列
- 数组的长度是固定的,声明后无法改变
- 数组的长度是数组类型的一部分,eg:元素类型相同但是长度不同的两个数组是不同类型的
- 需要严格控制程序所使用内存时,数组十分有用,因为其长度固定,避免了内存二次分配操作
示例
package main
import "fmt"
func main() {
var arr1 [5]int
for i := 0; i < 5; i++ {
arr1[i] = i
}
printHelper("arr1", arr1)
arr1 = [5]int{2, 3, 4, 5, 6}
arr2 := [5]int{0, 1, 2, 3, 4}
printHelper("arr2", arr2)
fmt.Println(arr1 == arr2)
var arr3 = [...]int{0, 1, 2, 3, 4}
printHelper("arr3", arr3)
var arr4 = [...]int{4: -1}
printHelper("arr4", arr4)
var twoD [2][3]int
for i := 0; i < 2; i++ {
for j := 0; j < 3; j++ {
twoD[i][j] = i + j
}
}
fmt.Println("twoD: ", twoD)
}
func printHelper(name string, arr [5]int) {
for i := 0; i < 5; i++ {
fmt.Printf("%v[%v]: %v\n", name, i, arr[i])
}
fmt.Printf("len of %v: %v\n", name, len(arr))
fmt.Printf("cap of %v: %v\n", name, cap(arr))
fmt.Println()
}