数组

2022-02-26 GoLang 大约 2 分钟

数组的格式定义:var 数组名 [数组大小]数据类型

# 创建数组

func main() {

	// 第一种:数组长度确定
	var arr1 [3]int = [3]int{3, 6, 9}
	fmt.Println(arr1) // [3 6 9]

    // 第二种:
	var arr2 = [3]int{1, 4, 7}
	fmt.Println(arr2) // [1 4 7]

    // 第三种:数组长度不确定
	var arr3 = [...]int{4, 5, 6, 7}
	fmt.Println(arr3) // [4 5 6 7]

    // 第四种:指定具体位置的具体值。
	var arr4 = [...]int{2: 66, 0: 33}
	fmt.Println(arr4) // [33 0 66]
    
	// 第五种:声明一个长度为5int类型的数组:
	var scores [5]int
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21

[...]可以当数组长度不确定时使用。

# 添加元素

数组大小是不能改变的,如果需要可改变的话,可以用slice,提供append可以添加,超出大小可以自动扩容。

func main() {
	// 声明一个长度为5 int类型的数组:
	var scores [5]int
	scores[0] = 95
	scores[1] = 90
	scores[2] = 23
	scores[3] = 10
	scores[4] = 2
	fmt.Println(scores) // [95 90 23 10 2]
}
1
2
3
4
5
6
7
8
9
10

# 删除元素

Go语言并没有提供用于删除元素的语法或接口,而是通过利用切片本身的特性来删除元素。

# 数组的遍历

# for 循环

// 声明一个长度为int类型的数组:
var scores = [...]int{95, 90, 23, 10, 1}
// 求和
sum := 0
for i := 0; i < len(scores); i++ {
    sum += scores[i]
}
fmt.Println("和为:", sum) // 和为: 219
1
2
3
4
5
6
7
8

# range 循环

// 声明一个长度为5int类型的数组:
var scores = [...]int{95, 90, 23, 10, 1}
// 求和
sum := 0
for _, value := range scores {
    sum += value
}
fmt.Println("和为:", sum) // 和为: 219
1
2
3
4
5
6
7
8
  1. scores 就是你要遍历的数组。
  2. 每次遍历得到的索引用key接收,每次遍历得到的索引位置上的值用value接收。
  3. key, value的名字随意起名。当key不需要使用时可以用_替代。
  4. key, value属于这个循环中的局部变量。
上次编辑于: 2023年7月4日 09:36