Go语言:数组

简介: Go语言数组是切片学习的基础,这篇文章详细讲解数组的概念、声明、定义及使用。

简介

数组是具有固定长度且拥有0个或者多个相同数据类型元素的集合。在Go语言中,由于数组的长度固定,所以很少直接使用数组,而是经常使用切片(slice)。

数组就是把同一类东西放到一起,然后排上序号。因为数组通常包含多个元素,所以再给数组命名时,建议使用复数形式。


声明数组

Go 语言数组声明需要指定元素类型元素个数,语法格式如下:

vararr_name [SIZE] arr_type

image.gif

这是一维数组的定义方式。

下面就声明一个数组名为array,元素个数为10,数据类型为int型的数组。

vararray [10] int

image.gif


初始化数组

🎈第一种方式:

var list = [5] int{
    1,2,3,4,5,
}

image.gif

这里需要注意的是,数组的{}不在同一行的话,记得在最后一个元素后面加上一个逗号。

🎈第二种方式:

list := [5] int{1,2,3,4,5}

image.gif

其实就是省去var,用短定义的方式来初始化。


数组的长度必须是常量,这个值在程序编译时就可以确定。

如果一个数组中的元素类型是可以比较的,那么这个数组就是可以比较的,此时可以使用“==”运算符来比较两个数组。


数组索引与访问

数组的索引和C语言一样,都是从下标为0开始,而不是从1开始。

访问数组元素也只需要将该元素的位置或索引告诉Go语言即可。访问格式就是:数组名[索引值]


遍历数组

日常工作中,经常需要遍历数组中的所有元素,对每个元素执行相同的操作。

一般我们使用for range循环处理遍历数组的问题。

👇方式

    1. 首先定义一个数组
    2. 定义一个for循环,for循环这段代码可以让Go语言从数组中取出一个下标和对应的元素,并将其存储在变量a和b中(变量可自行定义)
    3. 打印变量a和b

    a代表元素所在数组的索引值,b代表元素本身。

    packagemainimport"fmt"funcmain() {
    varlist= [5]string{
    "矿泉水", "冰红茶", "绿茶", "可乐", "芬达",
        }
    fora, b :=rangelist {
    desc :=fmt.Sprintf("%d-%s", a, b)
    fmt.Println(desc)
        }
    }

    image.gif

    打印结果如下:

    0-矿泉水

    1-冰红茶

    2-绿茶

    3-可乐

    4-芬达

    目录
    相关文章
    |
    7天前
    |
    存储 JSON 监控
    Viper,一个Go语言配置管理神器!
    Viper 是一个功能强大的 Go 语言配置管理库,支持从多种来源读取配置,包括文件、环境变量、远程配置中心等。本文详细介绍了 Viper 的核心特性和使用方法,包括从本地 YAML 文件和 Consul 远程配置中心读取配置的示例。Viper 的多来源配置、动态配置和轻松集成特性使其成为管理复杂应用配置的理想选择。
    24 2
    |
    11天前
    |
    JavaScript Java Go
    探索Go语言在微服务架构中的优势
    在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出。本文将深入探讨Go语言在构建微服务时的性能优势,包括其在内存管理、网络编程、并发模型以及工具链支持方面的特点。通过对比其他流行语言,我们将揭示Go语言如何成为微服务架构中的一股清流。
    102 53
    |
    5天前
    |
    Go 索引
    go语言中的循环语句
    【11月更文挑战第4天】
    13 2
    |
    5天前
    |
    Go C++
    go语言中的条件语句
    【11月更文挑战第4天】
    16 2
    |
    10天前
    |
    Ubuntu 编译器 Linux
    go语言中SQLite3驱动安装
    【11月更文挑战第2天】
    32 7
    |
    10天前
    |
    关系型数据库 Go 网络安全
    go语言中PostgreSQL驱动安装
    【11月更文挑战第2天】
    39 5
    |
    10天前
    |
    安全 Go
    用 Zap 轻松搞定 Go 语言中的结构化日志
    在现代应用程序开发中,日志记录至关重要。Go 语言中有许多日志库,而 Zap 因其高性能和灵活性脱颖而出。本文详细介绍如何在 Go 项目中使用 Zap 进行结构化日志记录,并展示如何定制日志输出,满足生产环境需求。通过基础示例、SugaredLogger 的便捷使用以及自定义日志配置,帮助你在实际开发中高效管理日志。
    26 1
    |
    9天前
    |
    程序员 Go
    go语言中的控制结构
    【11月更文挑战第3天】
    85 58
    |
    8天前
    |
    监控 Go API
    Go语言在微服务架构中的应用实践
    在微服务架构的浪潮中,Go语言以其简洁、高效和并发处理能力脱颖而出,成为构建微服务的理想选择。本文将探讨Go语言在微服务架构中的应用实践,包括Go语言的特性如何适应微服务架构的需求,以及在实际开发中如何利用Go语言的特性来提高服务的性能和可维护性。我们将通过一个具体的案例分析,展示Go语言在微服务开发中的优势,并讨论在实际应用中可能遇到的挑战和解决方案。
    |
    9天前
    |
    存储 编译器 Go
    go语言中的变量、常量、数据类型
    【11月更文挑战第3天】
    26 9