📅  最后修改于: 2023-12-03 14:41:32.473000             🧑  作者: Mango
在 Go 编程语言中,数组是一种固定长度且类型相同的数据结构。数组元素的类型可以是任何合法的数据类型,包括内置类型和自定义类型。数组在声明时需要指定固定的长度,并且长度在定义后不可更改。
可以使用以下语法声明数组:
var arrayName [length]dataType
其中,arrayName
是数组的名称,length
是数组的长度,dataType
是数组元素的数据类型。
可以选择使用以下方式来初始化数组:
var arrayName = [length]dataType{values}
arrayName := [length]dataType{value1, value2, value3, ...}
arrayName := [...]dataType{values}
可以使用索引访问数组元素,索引从 0 开始。
arrayName[index]
通过使用 len()
函数,可以获取数组的长度,即数组中元素的数量。
length := len(arrayName)
对于数组来说,容量等于长度。
可以使用 for
循环来遍历数组中的元素。
for index, value := range arrayName {
// 使用 index 和 value 进行相应的操作
}
在 Go 中,数组是值类型,可以通过 ==
或 !=
运算符来比较两个数组是否相等。
if array1 == array2 {
// 数组相等
} else {
// 数组不相等
}
可以通过数组名来获取数组在内存中的地址。
address := &arrayName
package main
import "fmt"
func main() {
// 声明和初始化数组
var numbers [5]int
numbers = [5]int{1, 2, 3, 4, 5}
// 使用下标逐个初始化
fruits := [3]string{"apple", "banana", "orange"}
// 自动推断长度
colors := [...]string{"red", "green", "blue"}
// 数组访问
fmt.Println(numbers[2])
// 数组长度
fmt.Println(len(numbers))
// 遍历数组
for index, value := range fruits {
fmt.Printf("fruits[%d] = %s\n", index, value)
}
// 数组比较
var array1 [3]int
var array2 [3]int
array1 = [3]int{1, 2, 3}
array2 = [3]int{1, 2, 3}
if array1 == array2 {
fmt.Println("Arrays are equal")
} else {
fmt.Println("Arrays are not equal")
}
// 获取数组的地址
fmt.Printf("Address of array1: %p\n", &array1)
}
以上就是 Go 中数组的基本知识和用法。你可以在代码中进行实践并加深理解。Happy Coding!