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

更新时间 2022-03-31 14:54:58

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡 / 赠书活动

目前, 星球 内第一个项目:全栈前后端分离博客项目,演示地址:http://116.62.199.48/, 1.0 版本已经更新完毕,正在更新 2.0 版本。采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 224 小节,累计 35w+ 字,讲解图:1544 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 1000+ 小伙伴加入,欢迎点击围观

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

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语言数组代码示例Go语言数组代码示例