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

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

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

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 50w+ 字,讲解图 2200+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 1700+ 小伙伴加入学习 ,欢迎点击围观

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

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