什么是数组
数组是具有固定长度且长度为 0 个或多个相同数据类型的元素的集合。
如何理解上边的解释呢? 与 PHP 语言不同,在 Go 语言中,数组的长度是固定的,并且必须是同一类型的数据集合
数组中包含的每个数据项被称为数组元素,一个数组包含的元素个数被称为数组的长度。
简而言之就是 大小确定、类型一致。
在 PHP 语言中我们的数组可以是任意类型,例如 [1,2,3,"hah"], 但是在 Go 语言中这种是不允许的,必须是同一种数据类型才可以。
初始化数组
申明数组
var name [5]string
申明并赋值
var name = [2]string{"PHP","Go"}
短变量
name := [2]string{"PHP","Go"}
另外假如在数组初始化时,不确定数组的元素,那么可以使用如下的方式进行数组申明。其数组的长度由初始化数组的元素个数来决定
name := [...]string{"PHP","Go","Python"}
另外需要注意的是,假设数组在初始化时,数组元素个数不足申明的长度是,则默认会填充 该类型的零值,例如 string 会是 空值。int 则会补 0.
注意 数组长度在声明后就不可更改,在声明时可以指定数组长度为一个常量或者一个常量表达式
访问数组元素
数组的访问 和大多数编程语言一样,通过下标来进行访问。,下标从 0 开始。 len(arr)-1 表示数组的最后一个的下标
例如:
age := [5]int{18,20,34,44,66}
fmt.Println(age[1]) //20
当访问一个远超出数组下标的元素时,例如下标只到 3,访问下标为 5 的元素时则会报索引越界异常错误.
age := [5]int{18,20,34,44,66}
fmt.Println(age[7]) // invalid array index 7 (out of bounds for 5-element array)
修改数组
同访问数组一样,修改数组的元素,也可以通过小标来进行修改。例如:
age := [5]int{18,20,34,44,66}
age[2] = 99
遍历数组
和其他编程语言一样,我们可以使用 for
循环来进行遍历数组
age := [5]int{18,20,34,44,66}
for i := 0; i < len(age);i++{
fmt.Println(age[i])
}
但其实在 Go 语言中,提供了一个 range,用于处理遍历数组的问题
age := [5]int{18,20,34,44,66}
for index,item := range age {
fmt.Println("index:", index , "item:" , item)
}
数组的一些基本操作到此就结束了,本人也是初学 Go,特此写出来乙供参考。有不足之处还请指正。
这节内容请记住,数组类型的值得长度是固定的。另外数组是值类型
关于极客返利
极客返利 是由我个人开发的一款网课返利、返现平台。包含 极客时间返现、拉勾教育返现、掘金小册返现、GitChat返现。目前仅包含这几个平台。后续如果有需要可以考虑其他平台。 简而言之就是:你买课,我返现。让你花更少的钱,就可以买到课程。
版权许可
本作品采用 知识共享署名 4.0 国际许可协议 进行许可。转载无需与我联系,但须注明出处,注明文章来源 【初探Go语言】Go 语言之数组