Go:数组
package main import "fmt" func main() { // 定义数组的方式 var array1 [3]int array2 := [3]int{} fmt.Println(array1) fmt.Println(array2) // 初始化数据的方式: var array3 [3]int = [3]int{1, 2, 3} var array4 = [5]int{1, 2, 3} var array5 = [...]int{1, 2, 3} var array6 = [3]string{1: "2", 0: "1", 2: "3"} fmt.Println(array3) // [1 2 3] fmt.Println(array4) // [1 2 3 0 0] fmt.Println(array5) // [1 2 3] fmt.Println(array6) // [1 2 3] array7 := [...]int{1: 2, 0: 1, 3: 3} fmt.Println(array7) // [1 2 0 3] // 遍历数组求平均值 array8 := [4]float64{9.5654, 3.521, 12.50, 22.55158} total := 0.0 for index := range array8 { total += array8[index] } tmp := fmt.Sprintf("avg=%.2f\n", total/float64(len(array8))) fmt.Println(tmp) // avg=12.03 }
数组属于值类型,在默认情况下是值传递,因此会进行值拷贝。如果想在其他函数中,去修改原来的数组内容,可以使用引用传递方式(指针方式),如下:
package main import "fmt" func test(arr *[3]int) { arr[0] = 100 } func main() { arr := [3]int{1, 2, 3} test(&arr) fmt.Println(arr) // [100 2 3] }