Golang 数组的使用
Posted 创客未来
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Golang 数组的使用相关的知识,希望对你有一定的参考价值。
★数组的定义
package main import "fmt" func main() { //1.定义一个数组 var hens [6]float64 //2.给数组的每个元素赋值,元素的下标是从0开始的 hens[0] = 3.0 hens[1] = 5.0 hens[2] = 1.0 hens[3] = 3.4 hens[4] = 2.0 hens[5] = 50.0 //3.遍历数组求出总体重 totalWeight2 := 0.0 for i := 0; i < len(hens); i++ { totalWeight2 += hens[i] } //求出平均体重 avgWeight2 := fmt.Sprintf("%.2f", totalWeight2/float64(len(hens))) fmt.Printf("totalWeigt2=%v avgWeight2=%v", totalWeight2, avgWeight2) var numsArray01 []int = []int {1,2,3} var numsArray02 = []int {1,2,3} var numsArray03 = [...]int {6,7,8} var names =[3]string{1:"tom",0:"jack",2:"marray"} fmt.Println(numsArray01) fmt.Println(numsArray02) fmt.Println(numsArray03) fmt.Println(names) }
★四种初始化数组的方式
package main import "fmt" func main() { var numsArray01 []int = []int {1,2,3} var numsArray02 = []int {1,2,3} var numsArray03 = [...]int {6,7,8} var names =[3]string{1:"tom",0:"jack",2:"marray"} fmt.Println(numsArray01) fmt.Println(numsArray02) fmt.Println(numsArray03) fmt.Println(names) }
★数组的遍历
方式一:for
package main import "fmt" func main() { //1.定义一个数组 var hens [6]float64 //2.给数组的每个元素赋值,元素的下标是从0开始的 hens[0] = 3.0 hens[1] = 5.0 hens[2] = 1.0 hens[3] = 3.4 hens[4] = 2.0 hens[5] = 50.0 //3.遍历数组求出总体重 totalWeight2 := 0.0 for i := 0; i < len(hens); i++ { totalWeight2 += hens[i] } //求出平均体重 avgWeight2 := fmt.Sprintf("%.2f", totalWeight2/float64(len(hens))) fmt.Printf("totalWeigt2=%v avgWeight2=%v", totalWeight2, avgWeight2) }
方式二:for-range
基本语法
for index,value := range array01{
...
}
说明:
1)第一个返回值index 是数组的下标
2)第二个value是在该下标位置的值
3)他们都是仅在for循环内部可见的局部变量
4)遍历数组元素的时候,如果不想使用下标,可以直接把下标index标为下划线_
5)index和value的名称不是固定的,即程序员可以自行指定,一般名命为index和value
package main import ( "fmt" ) func main() { //演示for-range遍历数组 heroes := [...]string{"宋江", "吴用", "卢俊义"} //遍历数组 for index, value := range heroes { fmt.Printf("index=%v value=%v\\n", index, value) fmt.Printf("heroes[%d]=%v\\n", index, heroes[index]) } }
★数组使用注意事项和细节
1)数组是多个相同类型数据的组合,一个数组一旦声明/定义了,其长度是固定的,不能动态变化。
2)var arr[]int 这时 arr 就是一个slice切片。
3)数组中的元素可以是任何数据类型,包括值类型和引用类型,但是不能混用。
4)数组创建后,如果没有赋值,有默认值
数值类型数组:默认值为 0
字符串数组:默认值为 “”
bool数组:默认值为 false
5)使用数组的步骤
步骤1:声明数组并开辟空间
步骤2:给数组各个元素赋值
步骤3:使用数组
6)数组的下标是从0开始的
7)数组下标必须在指定范围内使用,否则报panic:数组越界,比如 :
var arr [5]int 则有效下标为 0-4
8)Go的数组属值类型,在默认情况下是值传递,因此会进行值拷贝。数组间不会相互影响
9)如果想在其他函数中,去修改原来的数组,可以使用引用传递(指针方式)
10)长度是数字类型的一部分,在传递函数参数时,需要考虑数组的长度。
以上是关于Golang 数组的使用的主要内容,如果未能解决你的问题,请参考以下文章