Go语言数组

文章目录

  • Go语言数组
    • [1. **数组的声明**:](#1. 数组的声明:)
    • [2. **数组的初始化**:](#2. 数组的初始化:)
    • [3. **访问数组元素**:](#3. 访问数组元素:)
    • [4. **数组的长度**:](#4. 数组的长度:)
    • [5. **多维数组**:](#5. 多维数组:)
    • [6. **数组是值类型**:](#6. 数组是值类型:)
    • [7. **数组的遍历**:](#7. 数组的遍历:)
    • [8. **数组的大小是类型的一部分**:](#8. 数组的大小是类型的一部分:)
    • [9. **数组的零值**:](#9. 数组的零值:)

Go语言数组

在 Go 语言中,数组是一种固定长度的数据结构,用于存储相同类型的元素。数组的长度是固定的,一旦定义,无法更改。以下是关于 Go 语言数组的一些基本信息:

1. 数组的声明

go 复制代码
var arr [5]int // 声明一个包含5个整数的数组

在上述示例中,我们声明了一个包含5个整数的数组。您可以使用不同的数据类型和不同的长度来声明数组。

2. 数组的初始化

Go 语言数组可以使用初始化列表进行初始化。例如:

go 复制代码
arr := [3]int{1, 2, 3} // 初始化一个包含3个整数的数组

您还可以省略数组长度,让编译器自动计算:

go 复制代码
arr := [...]int{1, 2, 3} // 自动计算数组长度

3. 访问数组元素

您可以使用下标来访问数组元素,数组下标从0开始:

go 复制代码
fmt.Println(arr[0]) // 访问第一个元素

4. 数组的长度

您可以使用len函数来获取数组的长度:

go 复制代码
length := len(arr) // 获取数组的长度

5. 多维数组

Go 支持多维数组,例如二维数组:

go 复制代码
var matrix [3][3]int // 声明一个3x3的二维整数数组

6. 数组是值类型

在 Go 中,数组是值类型。当将一个数组分配给另一个数组或函数时,会复制整个数组,而不是引用。这可能会导致性能问题,因此在处理大型数据集时,通常使用切片。

7. 数组的遍历

您可以使用for循环来遍历数组的元素:

go 复制代码
for i := 0; i < len(arr); i++ {
    fmt.Println(arr[i])
}

或使用range关键字:

go 复制代码
for index, value := range arr {
    fmt.Printf("arr[%d] = %d\n", index, value)
}

8. 数组的大小是类型的一部分

不同大小的数组被认为是不同的类型。例如,[5]int[10]int 是不同的类型,不能互相赋值或传递给相同的函数。

9. 数组的零值

如果不初始化数组元素,它们将被设置为其数据类型的零值。例如,int 类型的数组元素将初始化为0。

Go 语言中的切片(Slice)通常更灵活,因此在处理可变长度的数据集时更常用。数组通常用于处理固定长度的数据集。

相关推荐
Achou.Wang6 小时前
深入理解go语言-第5章 并发编程——Go的灵魂
大数据·算法·golang
夏殇之殁6 小时前
包中创建自定义列表项。 . 使用自定义列表项进行数据绑定 . 将天气预报数据保存到本地内存表,通过LiveBindings进行显示。 ...
服务器·前端·javascript
新中地GIS开发老师7 小时前
WebGIS开发学生作品|低空航天管理与航线规划系统
前端·javascript·webgis·三维gis开发
丙氨酸長鏈8 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
kyriewen9 小时前
面试官让我手写虚拟列表——AI生成的版本,快速滚动几下就白屏了
前端·javascript·面试
名字还没想好☜10 小时前
Go 的 time.After 在 select 循环里内存泄漏:定时器堆积原理与 timer.Reset 正确姿势
java·数据库·golang·go·goroutine
许彰午11 小时前
政务督办的分合模式:主办协办的并发审批
前端·javascript·政务
ttwuai11 小时前
GoFrame 后台日志清空失败:无 WHERE 删除为什么被拦住
前端·golang
易筋紫容11 小时前
创建型模式:对象的诞生艺术
开发语言·前端·javascript
进击的程序猿~12 小时前
Go 并发底层原理面试学习指南
开发语言·面试·golang