开发者社区> 孤衫> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Go语言:数组

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

简介

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

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


声明数组

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

var arr_name [SIZE] arr_type

image.gif

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

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

var array [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代表元素本身。

    package main
    import "fmt"
    func main() {
        var list = [5]string{
            "矿泉水", "冰红茶", "绿茶", "可乐", "芬达",
        }
        for a, b := range list {
            desc := fmt.Sprintf("%d-%s", a, b)
            fmt.Println(desc)
        }
    }

    image.gif

    打印结果如下:

    0-矿泉水

    1-冰红茶

    2-绿茶

    3-可乐

    4-芬达

    版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

    相关文章
    【Go语言刷题篇】Go完结篇|函数、结构体、接口、错误入门学习
    - 本期是学习Golang的完结篇:函数、结构体、接口、错误入门学习,有不懂的地方可以评论进行讨论!
    0 0
    【Go语言刷题篇】Go从0到入门5:Map综合复习、条件语句、循环语句练习
    本期是学习Golang:Map综合复习、条件语句、循环语句练习,有不懂的地方可以评论进行讨论!
    0 0
    【Go语言刷题篇】Go从0到入门4:切片的高级用法、初级复习与Map入门学习
    本期是学习Golang的:切片高级用法及初级复习、Map、条件与循环语句入门学习,有不懂的地方可以评论进行讨论!
    0 0
    【Go语言刷题篇】Go从0到入门3:逻辑运算、位运算、数组入门、切片入门练习
    本期是Golang的逻辑运算、位运算、数组入门、切片入门的专项练习,有不懂的地方可以评论讨论~
    0 0
    【Go语言刷题篇】Go从0到入门2:类型转换、字符求和、运算符运算(加减乘除取余比较符)练习
    本系列文章采用牛客的核心代码模式进行案例代码提供,帮助大家从0到入门的学习过程中进行配套的刷题~
    0 0
    从1开始,扩展Go语言后端业务系统的RPC功能
    从1开始,扩展Go语言后端业务系统的RPC功能
    0 0
    Go语言开发小技巧&易错点100例(四)
    Go语言开发小技巧&易错点100例(四)
    0 0
    关注世界杯,我用Go语言打印了一个足球场
    关注世界杯,我用Go语言打印了一个足球场
    0 0
    +关注
    孤衫
    一个热爱编程的在校大学生
    文章
    问答
    文章排行榜
    最热
    最新
    相关电子书
    更多
    Go 构建日请求千亿级微服务的最佳实践
    立即下载
    Go语言路上踩过的坑
    立即下载
    gohbase :HBase go客户端
    立即下载