Go语言学习笔记十一--Go语言数组的相关操作
一、数组的基本操作
1 package main 2 3 import "fmt" 4 5 func main() { 6 var arr[5] int 7 //数组会自动将自己的元素初始化 8 fmt.Println(arr) 9 //给其中的一个元素赋值 10 arr[0] = 11 11 arr[2] = 33 12 fmt.Println("arr = ", arr) 13 14 var arr1 [3]int = [3]int{11,22,33} // var arr1 = [3]int{11,22,33} 这两中写法都可以 15 fmt.Println("arr1 = ", arr1) 16 17 arr2 := []int{44,55,66} 18 fmt.Println("arr2 = ", arr2) 19 //len用于求长度 20 fmt.Println("arr2 的长度为:",len(arr2)) 21 22 arr3 := [5]int{10} 23 fmt.Println("arr3 = ", arr3) 24 25 //通过下标进行赋值 26 arr4 := [7]int{2:100,5:555} 27 fmt.Println("arr4 = ", arr4) 28 29 //区别于C语言里面数组名就是一个指针 在go语言里面 数组的长度是数组元素的一部分,其长度不同的不能相互之间进行赋值 30 var arr5 [5]int 31 var arr6 [5]int 32 var arr7 [6]int 33 arr5 = arr6 //合法 34 //arr6 = arr7 //报错 35 fmt.Println(arr5) 36 fmt.Println(arr6) 37 fmt.Println(arr7) 38 //数组的遍历 39 for i:=0;i<len(arr1);i++ { 40 fmt.Printf("arr1[%d] = %d\n",i,arr1[i]) 41 } 42 43 println("下面我们使用for range的方式来遍历数组") 44 for index, value := range arr1{ 45 fmt.Printf("arr1[%d] = %d\n",index, value) 46 } 47 println("下面我们使用for range的方式来遍历数组,并且只输出他的值") 48 //range有两个返回值 使用下划线_ 来忽略第一个返回值 49 for _, value := range arr1{ 50 fmt.Printf(" %d\n", value) 51 } 52 }
二、数组的复制
1 package main 2 3 import "fmt" 4 func arrayModify(c [5]int){ 5 c[0] = 1000 6 } 7 func main() { 8 9 var a [5]int = [5]int{6,5,2,3,8} 10 b := a //这种方式是新开一个内存,将a里面的所有值都复制一份到数组b 11 12 b[0] = 88 13 b[1] = 99 14 fmt.Printf("a[] = %v\n",a) 15 fmt.Printf("b[] = %v\n",b) 16 arrayModify(b) //你会发现执行这个函数 其实啥也没变 17 fmt.Printf("b[] = %v\n",b) 18 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!