package main import "fmt" func printArray(a [3]int) { fmt.Println("函数内数组:", a) a[0] = 0 // 不会影响原数组 } func main() { // 数组初始化 var arr1 [3]int // 长度为3的int数组,零值初始化 arr2 := [4]string{"a", "b", "c"} // 部分初始化,未指定的元素为零值 arr3 := [...]int{10, 20, 30, 40} // 长度由初始化元素数量决定 fmt.Println("arr1:", arr1) // [0 0 0] fmt.Println("arr2:", arr2) // [a b c ] fmt.Println("arr3长度:", len(arr3)) // 4 // 数组访问与修改 arr1[0] = 100 arr1[1] = 200 fmt.Println("arr1修改后:", arr1) // [100 200 0] // 数组比较(元素类型可比较时) arr4 := [3]int{100, 200, 0} if arr1 == arr4 { fmt.Println("arr1与arr4相等") } // 数组是值类型 arr5 := arr1 arr5[2] = 300 fmt.Println("arr1:", arr1) // [100 200 0],未被修改 fmt.Println("arr5:", arr5) // [100 200 300] // 数组作为函数参数 printArray(arr1) }