数组,是一组固定长度的、同类元素的集合。

固定长度,声明时指定长度,长度不可以改变。

同类元素,数组中的元素必须是同一类型的

数组声明和赋值

数组的声明,比如:声明一个长度为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