40 lines
986 B
Go
40 lines
986 B
Go
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)
|
|
}
|