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)长度是数字类型的一部分,在传递函数参数时,需要考虑数组的长度。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!