• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Go:数组

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
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]
}

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Go操作Mysql(二)发布时间:2022-07-10
下一篇:
通过SingleFlight模式学习Go并发编程发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap