Go 语言数组_定义_初始化_遍历(超详细)

发布于: 2020-11-17 16:43:31 作者: 犬小哈 最后修订时间: 2020-11-17 16:46:42

数组是一段固定长度的连续内存区域。

Go 语言中,数组一旦声明,那么大小就确定了。我们可以修改数组成员,但是不能改变大小。

一、Go 语言定义数组

定义数组的格式如下:

var 数组变量名 [元素数量]T

说明:

  • 数组变量名: 定义一个数组的变量名;
  • 元素数量: 定义数组的大小;
  • T 可以是任意基本类型,甚至可以是数组本身,若为数组,则可以实现多维数组。

下面这段代码中,定义了一个变量为 arr, 成员类型为字符串, 大小为 3 的数组:

package main

import (
	"fmt"
)

func main()  {
	// 定义一个变量为 arr, 成员类型为 string, 大小为 3 的数组
	var arr [3]string

	// 赋值操作
	arr[0] = "www."
	arr[1] = "quanxiaoha"
	arr[2] = ".com"

	fmt.Println(arr)
}

代码输出如下:

[www. quanxiaoha .com]

二、Go 语言初始化数组

我们可以在定义数组的时候,将数组提前初始化好,代码如下:

var arr = [3]string{"www.", "quanxiaoha", ".com"}

这种写法需要保证大括号内的元素数量与数组的大小一致。

但是,还可以将定义数组大小的操作交给编译器,让编译器在编译时,根据元素的个数来确定大小:

var arr = [...]string{"www.", "quanxiaoha", ".com"}

...表示让编译器来确定数组大小。编译器会自动将这个数组的大小设置为 3。

三、Go 语言遍历数组

可以通过 for range 来遍历数组,代码如下:

package main

import (
	"fmt"
)

func main()  {
	// 定义一个变量为 arr, 成员类型为 string, 大小为 3 的数组
	var arr = [...]string{"www.", "quanxiaoha", ".com"}

	for index, v := range arr {
		fmt.Printf("index: %d, value: %s\n", index, v)
	}
}

上面代码中,index 表示数组当前的下标, v 表示当前元素的值。

代码输出:

index: 0, value: www.
index: 1, value: quanxiaoha
index: 2, value: .com

图示:

Go语言数组代码示例