Go数组的具体使用

 更新时间:2023年11月20日 11:41:35   作者:hope_wisdom  
Go语言中的数组是一种固定长度的数据结构,它包含一组按顺序排列的元素,每个元素都具有相同的类型,本文主要介绍了Go数组的具体使用,包括声明数组、初始化数组、访问数组元素等,感兴趣的可以了解下

概述

上一节的内容中,我们介绍了Go的基本数据类型,包括:布尔类型、整数类型、浮点数类型、复数类型、字符串类型等。在本节中,我们将介绍Go的数组。Go语言中的数组是一种固定长度的数据结构,它包含一组按顺序排列的元素,每个元素都具有相同的类型。数组的元素可以是任何类型,包括基本类型和复合类型。

声明数组

声明数组可以使用var关键字,并同时指定数组的长度和元素类型。其语法格式如下:

var arrayName [size]dataType

其中,arrayName是数组的名称,size是数组的大小,dataType是数组中元素的数据类型。

在下面的示例代码中,我们声明了一个包含3个字符串元素的数组和一个包含6个整型元素的数组。

var arrText [3]string
var arrNum [6]int

注意:声明数组时,数组中的每个元素都会根据其数据类型进行默认初始化。对于整数类型,初始值为0;对于字符串类型,初始值为空字符串。

初始化数组

初始化数组可通过初始化列表来指定数组元素的值,初始化列表使用大括号{}来包含数组元素。可参考下面的示例代码。

package main

import "fmt"

func main() {
    var arrNum [5]int = [5]int{1, 2, 3, 4, 5}
    // 输出:[1 2 3 4 5]
    fmt.Println(arrNum)
}

给初始化列表赋值时,可以仅指定部分元素的值,其余元素则默认初始化为0或空字符串等。在下面的示例代码中,我们声明了含有5个元素的整型数组,但仅仅给出了前三个元素的值。此时,最后两个元素的值为0。

package main

import "fmt"

func main() {
    var arrNum [5]int = [5]int{1, 2, 3}
    // 输出:[1 2 3 0 0]
    fmt.Println(arrNum)
}

也可以不指定数组的大小,而让编译器根据初始化列表自动进行推断。此时,[]中可以不指定数字,或者使用符号...代替数字。

package main

import "fmt"

func main() {
    arrNum := []int{1, 2, 3}
    // 输出:[1 2 3]
    fmt.Println(arrNum)

    arrNum2 := [...]int{1, 2, 3, 4, 5}
    // 输出:[1 2 3 4 5]
    fmt.Println(arrNum2)
}

访问数组元素

可以使用索引配合中括号[]来访问数组中的元素,索引从0开始,依次递增。比如:要访问数组arr的第一个元素,可以使用arr[0]。

package main

import "fmt"

func main() {
    arrNum := []int{1, 2, 3, 4, 5}
    for i := 0; i < len(arrNum); i++ {
        fmt.Println(arrNum[i])
    }
}

当然,也可以修改数组中的元素,可参考下面的示例代码。

package main

import "fmt"

func main() {
    arrNum := []int{1, 2, 3, 4, 5}
    // 修改数组元素,输出:101 102 103 104 105
    for i := 0; i < len(arrNum); i++ {
        arrNum[i] += 100
        fmt.Printf("%d ", arrNum[i])
    }
}

到此这篇关于Go数组的具体使用的文章就介绍到这了,更多相关Go数组内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • GoLand利用plantuml生成UML类图

    GoLand利用plantuml生成UML类图

    本文主要介绍了GoLand利用plantuml生成UML类图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 一文搞懂Golang中的内存逃逸

    一文搞懂Golang中的内存逃逸

    内存逃逸是 Go 语言中一个重要的概念,涉及到程序的性能优化和内存管理,了解内存逃逸可以帮助我们编写更高效的代码,本文将从基本概念入手,深入讲解 Go 语言中的内存逃逸现象,以及如何避免,需要的朋友可以参考下
    2023-12-12
  • Golang reflect反射的使用实例

    Golang reflect反射的使用实例

    Golang反射的错误大多数都来自于调用了一个不适合当前类型的方法,而且,这些错误通常是在运行时才会暴露出来,而不是在编译时,如果我们传递的类型在反射代码中没有被覆盖到那么很容易就会panic,本文就介绍一下使用go反射时很大概率会出现的错误,需要的可以参考一下
    2023-04-04
  • GO语言基本类型分析

    GO语言基本类型分析

    这篇文章主要介绍了GO语言基本类型,较为详细的分析了整形、浮点型、字符串、指针等类型的具体用法,是深入学习GO语言所必须掌握的重要基础,需要的朋友可以参考下
    2014-12-12
  • 使用Go语言实现配置文件热加载功能

    使用Go语言实现配置文件热加载功能

    这篇文章主要介绍了使用Go语言实现配置文件热加载功能,以及配置文件热加载包的实现思路,需要的朋友可以参考下
    2018-03-03
  • Golang实现Redis网络协议实例探究

    Golang实现Redis网络协议实例探究

    这篇文章主要为大家介绍了Golang实现Redis网络协议实例探究,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • golang切片扩容规则实现

    golang切片扩容规则实现

    这篇文章主要介绍了golang切片扩容规则实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • go开源Hugo站点渲染之模板词法解析

    go开源Hugo站点渲染之模板词法解析

    这篇文章主要为大家介绍了go开源Hugo站点渲染之模板词法解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Go语言使用组合的思想实现继承

    Go语言使用组合的思想实现继承

    这篇文章主要为大家详细介绍了在 Go 里面如何使用组合的思想实现“继承”,文中的示例代码讲解详细,对我们学习Go语言有一定的帮助,需要的可以了解一下
    2022-12-12
  • golang 检查网络状态是否正常的方法

    golang 检查网络状态是否正常的方法

    今天小编就为大家分享一篇golang 检查网络状态是否正常的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-07-07

最新评论