package main
import (
"fmt"
)
func main() {
// 初始化方式1
var a1 = [3]bool{}
fmt.Println(a1)
// 初始化方式2
a2 := [...]int{1, 2, 3}
fmt.Println(a2)
// 初始化方式3
a3 := [5]int{0: 100, 4: 99}
fmt.Println(a3)
// 遍历 for range
for i := 0; i < len(a3); i++ {
fmt.Println(a3[i])
}
// 多维数组 只支持第一层用 ...
a4 := [...][2]int{
{1, 2},
{3, 4},
{5, 6},
}
for _, v1 := range a4 {
for _, v2 := range v1 {
fmt.Println(v1, v2)
}
}
// 拷贝
a5 := a2 // 此时 a5 是 [4]int 是数组;如果 a5 := a2[:] 切片写法,a5 就是切片,a5的改动会影响 a2
a5[0] = 10
fmt.Println(a5, a2) // [10 2 3] [1 2 3]
}