Golang数组
数组是具有固定长度且拥有零个或多个相同数据元素的序列。
数组存储的类型可以是内置类型,比如整型或者字符串,也可以是自定义的数据结构。因为是连续的,所以索引比较好计算,所以我们可以很快的索引数组中的任何数据。
数组的声明和初始化
var array [5]int
以上我们声明了一个数组array
,但是我们还没有对他进行初始化,这时候数组array
里面的值,是对应元素类型的零值。
数组的初始化
var array [5]int = [5]int{1,2,3,4,5}
array := [5]int{1,2,3,4,5}
省略数组长度
array := [...]int{1,2,3,4,5}
array := [...]int{99: -1}
定义了一个拥有100
个元素的数组array
,除了最后一个元素为-1
外,其他元素都为0
访问数组元素
package main
import "fmt"
func main() {
var a [3]int // 3个整数的数组(默认取0)
fmt.Println(a) // 输出数组第一个元素
fmt.Println(a[len(a)-1]) // 输出数组最后一个元素
// 仅输出元素(_表示忽略)
for _, v := range a {
fmt.Printf("%d\n", v); // 0 0 0 0
}
}
数组的赋值
数组类型一致可以赋值,但是需记住数组的类型由元素类型和长度共同组成,任一不相等无法成功赋值
package main
import "fmt"
func main() {
var q [3]int = [3]int{1, 2, 3}
fmt.Println(q) // [1 2 3]
var r [3]int = q
fmt.Println(r) // [1 2 3]
var t [4]int = q // 不能赋值,数组的长度也是数组类型的一部分
}