Go 数组操作
介绍
数组是编程中最基本的数据结构之一。在Go语言中,数组是一个固定长度的、由相同类型元素组成的序列。数组的长度在声明时就已经确定,且不能改变。数组的每个元素可以通过索引来访问,索引从0开始。
本文将详细介绍Go语言中数组的声明、初始化、访问、修改和遍历等操作,并通过实际案例展示数组的应用场景。
数组的声明与初始化
在Go语言中,数组的声明语法如下:
var arrayName [length]Type
其中,arrayName
是数组的名称,length
是数组的长度,Type
是数组中元素的类型。
例如,声明一个长度为5的整数数组:
var numbers [5]int
数组的初始化可以在声明时进行,也可以在声明后进行。以下是几种常见的初始化方式:
// 声明时初始化
var numbers = [5]int{1, 2, 3, 4, 5}
// 使用简短声明
numbers := [5]int{1, 2, 3, 4, 5}
// 部分初始化,未初始化的元素默认为零值
numbers := [5]int{1, 2} // [1, 2, 0, 0, 0]
// 使用索引初始化
numbers := [5]int{0: 10, 4: 50} // [10, 0, 0, 0, 50]
备注
在Go语言中,数组的长度是类型的一部分。这意味着 [5]int
和 [10]int
是不同的类型,不能直接相互赋值。
访问和修改数组元素
数组的元素可以通过索引来访问和修改。索引从0开始,最大为数组长度减1。
numbers := [5]int{1, 2, 3, 4, 5}
// 访问数组元素
fmt.Println(numbers[0]) // 输出: 1
// 修改数组元素
numbers[2] = 10
fmt.Println(numbers) // 输出: [1, 2, 10, 4, 5]
警告
如果访问的索引超出了数组的范围,Go语言会引发运行时错误(panic)。
遍历数组
遍历数组是常见的操作,可以通过 for
循环来实现。以下是几种常见的遍历方式:
numbers := [5]int{1, 2, 3, 4, 5}
// 使用for循环遍历
for i := 0; i < len(numbers); i++ {
fmt.Println(numbers[i])
}
// 使用range关键字遍历
for index, value := range numbers {
fmt.Printf("索引: %d, 值: %d\n", index, value)
}
提示
使用 range
关键字遍历数组时,index
是元素的索引,value
是元素的值。如果不需要索引,可以使用 _
来忽略它。