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]
}
原文:https://www.cnblogs.com/believepd/p/10920904.html