文末有面经共享群
本文来自极客学院专栏,欢迎订阅:Go入门进阶实战专栏:其实学Go很简单。
在 Go 语言的丰富数据类型中,数组和切片是处理有序数据集合的强大工具。它们允许开发者以连续的内存块来存储和管理相同类型的多个元素。无论是在处理大量数据时的性能优化,还是在实现算法时对数据结构的需求,数组和切片都扮演着至关重要的角色。
Go 语言中的数组数组是存放元素的容器,Go 语言中数组的长度是数组类型的一部分,定义数组时必须指定存放元素的类型和容量(长度)
定义vara1[3]boolvara2[4]intfmt.Printf("a1:%Tna2:%Tn",a1,a2)打印结果:
数组初始化默认值定义数组时不进行初始化,默认元素都是零值:bool 类型的 false、整型和浮点类型的 0、字符串的空串" "
vara1[3]boolvara2[4]int//如果不初始化:默认元素都是零值(布尔值:false 整型和浮点类型:0字符串:"")fmt.Println(a1,a2)
打印结果:
初始化方式 1最简单的初始化方式,在大括号中定义好和长度一致的值。
vara1[3]boola1=[3]bool{true,false,false}fmt.Println(a1)
打印结果:
初始化方式 2:根据初始值自动判断数组的长度在中括号中写明长度,当定义的数值个数比长度小时,会用默认值补齐,比如:0、false、""
a8:=[10]int{0,1,2,3,4,5,6,7}//7后面会用0补齐fmt.Println(a8)
打印结果:[0 1 2 3 4 5 6 7 0 0]
[...]的用法[...]设置数组长度时,会根据初始值自动判断数组的长度
aa:=[...]int{0,1,2,3,4,5,6,7}//[...]根据初始值自动判断数组的长度fmt.Println(aa)
打印结果:[0 1 2 3 4 5 6 7]
初始化方式 3:根据索引初始化指定索引对应的值,未指定索引的值会用默认值填充,比如:0、false、""
a3:=[5]int{0:1,4:2}//根据索引初始化fmt.Println(a3)
打印结果:[1 0 0 0 2]
取值遍历数组for i 循环遍历数组citys:=[...]string{"北京","上海","深圳"}//索引从0到2//根据索引