Go从入门到精通——数组(固定大小的连续空间)
数组(固定大小的连续空间)
数组是一段固定长度的连续内存区域。
在 Go 语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。
Go 语言中的数组概念和 C 语言的数组概念完全一致。C 语言的数组也是一段固定长度的内存区域,数组的大小在声明时固定下来。
1.1、声明数组
数组的写法如下:
var 数组变量名 [元素数量] T
其中:
- 数组变量名:数组声明及使用时的变量名。
- 元素数量:数组的元素数量。可以是一个表达式,但最终通过编译器计算的结果必须是整型数值。也就是说,元素数量不能含有到运行时才能确认大小的数值。
- T:可以是任意基本类型,包括 T 为数组本身。但类型为数组本身时,可以实现多位数组。
举个数组的例子吧
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | package main import ( "fmt" ) func main() { var team [3]string team[0] = "shanghai" team[1] = "beijing" team[2] = "nanjing" fmt.Println(team) } |
1.2、初始化数组
数组可以在声明时使用初始化列表进行元素设置:
1 | var team1 = [3]string{ "上海" , "北京" , "南京" } |
这种声明方式有个注意点,需要保证大括号后面的元素数量与数组的大小一致。但一般情况下,这个过程可以交给编译器,让编译器在编译时,根据元素的个数确定数组大小。
比如:
1 | var team = [...]string{ "上海" , "北京" , "南京" } |
" ... " 表示让编译器确定数组大小。上面的例子中,编译器会自动为这个数组设置元素个数为 3 。
1.3、遍历数组——访问每一个数值元素
举个例子吧。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | package main import "fmt" func main() { var team [3]string team[0] = "上海" team[1] = "北京" team[2] = "南京" for k, v := range team { fmt.Println(k, v) } } |
代码输出如下:
分类:
Go专题精讲
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具