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]
}

 

转载于:https://www.cnblogs.com/believepd/p/10920904.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值