数组,是一组固定长度的、同类元素的集合。
固定长度,声明时指定长度,长度不可以改变。
同类元素,数组中的元素必须是同一类型的
数组声明和赋值
数组的声明,比如:声明一个长度为3的、元素类型为string
的数组:
var animals [3]string
数组的赋值,采用索引(下标),索引从0开始,最后一个索引是长度-1。
animals[0] = "cat" // 给第一个元素赋值
animals[1] = "cattle" // 给第二个元素赋值
animals[2] = "sheep" // 给三个元素赋值
数组在声明时可同时赋值:
// 声明并赋值
var numbers = [3]int{1, 2, 3}
// 声明时指定索引赋值
// 假设给第2个、第3个元素赋值
var numbers1 = [3]int{1: 2, 3}
数组声明时可以不指定长度,自动推算其长度。
var cities = [...]string{"北京", "上海", "广州"} // 该数组的长度就是其元素的个数3.
数组的遍历(循环)
使用for
循环语句,遍历数组:
for i := 0; i < len(cities); i++ {
// 使用索引获取数组的元素
fmt.Println(cities[1])
}
另外,也可以使用for range
遍历
for index, city := range cities {
// index为元素的索引,city为元素的值
fmt.Println(index, city)
}
求一组数组的和
通过上面的介绍,我们来做一个例子,求一个数组中所有元素相加的和。
// 声明一个数组
var nums = [5]int{1, 2, 3, 4, 5}
// 声明求和的结果变里
var result int
for _, num := range nums {
result += num // 依次将数组的元素相加
}
fmt.Println(result) // 输出 15