Go 语言数组_定义_初始化_遍历(超详细)
一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论
- 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于
Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...
,点击查看项目介绍 - 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/
截止目前, 星球 内专栏累计输出 66w+ 字,讲解图 2896+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2300+ 小伙伴加入学习 ,欢迎点击围观
数组是一段固定长度的连续内存区域。
在 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
图示: