浅析Go语言中数组的使用

 更新时间:2023年08月31日 08:24:16   作者:小万哥  
数组用于在单个变量中存储相同类型的多个值,而不是为每个值声明单独的变量,这篇文章主要为大家介绍了Go语言中数组的简单使用,需要 的可以参考下

数组用于在单个变量中存储相同类型的多个值,而不是为每个值声明单独的变量。

声明数组

在Go中,有两种声明数组的方式:

1.使用var关键字:

语法

var array_name = [length]datatype{values} // 这里定义了长度

或者

var array_name = [...]datatype{values} // 这里长度是隐含的

2.使用:=符号:

语法

array_name := [length]datatype{values} // 这里定义了长度

或者

array_name := [...]datatype{values} // 这里长度是隐含的

注意:长度指定了数组中要存储的元素数量。在Go中,数组具有固定的长度。数组的长度可以通过一个数字来定义,也可以是隐含的(这意味着编译器根据值的数量来决定数组的长度)。

数组示例

这个示例声明了两个具有定义长度的数组(arr1和arr2):

package main
import "fmt"
func main() {
  var arr1 = [3]int{1, 2, 3}
  arr2 := [5]int{4, 5, 6, 7, 8}
  fmt.Println(arr1)
  fmt.Println(arr2)
}

输出:

[1 2 3]
[4 5 6 7 8]

示例

这个示例声明了两个隐含长度的数组(arr1和arr2):

package main
import "fmt"
func main() {
  var arr1 = [...]int{1, 2, 3}
  arr2 := [...]int{4, 5, 6, 7, 8}
  fmt.Println(arr1)
  fmt.Println(arr2)
}

输出:

[1 2 3]
[4 5 6 7 8]

示例

这个示例声明了一个字符串数组:

package main
import "fmt"
func main() {
  var cars = [4]string{"Volvo", "BMW", "Ford", "Mazda"}
  fmt.Print(cars)
}

输出:

[Volvo BMW Ford Mazda]

访问数组元素

您可以通过引用索引号来访问特定的数组元素。

在Go中,数组索引从0开始。这意味着[0]是第一个元素,[1]是第二个元素,依此类推。

示例

这个示例展示了如何访问prices数组中的第一个和第三个元素:

package main
import "fmt"
func main() {
  prices := [3]int{10, 20, 30}
  fmt.Println(prices[0])
  fmt.Println(prices[2])
}

输出:

10
30

更改数组元素

您还可以通过引用索引号来更改特定数组元素的值。

示例

这个示例展示了如何更改prices数组中第三个元素的值:

package main
import "fmt"
func main() {
  prices := [3]int{10, 20, 30}
  prices[2] = 50
  fmt.Println(prices)
}

输出:

[10 20 50]

数组初始化

如果数组或其元素在代码中没有被初始化,它将被分配其类型的默认值。

提示:int的默认值是0,string的默认值是""。

示例

package main
import "fmt"
func main() {
  arr1 := [5]int{}           // 未初始化
  arr2 := [5]int{1, 2}       // 部分初始化
  arr3 := [5]int{1, 2, 3, 4, 5} // 全部初始化
  fmt.Println(arr1)
  fmt.Println(arr2)
  fmt.Println(arr3)
}

输出:

[0 0 0 0 0]
[1 2 0 0 0]
[1 2 3 4 5]

仅初始化特定元素

也可以仅初始化数组中的特定元素。

示例

这个示例仅初始化数组的第二和第三个元素:

package main
import "fmt"
func main() {
  arr1 := [5]int{1: 10, 2: 40}
  fmt.Println(arr1)
}

输出:

[0 10 40 0 0]

示例解释

上面的数组有5个元素。

1:10 表示:将10赋值给数组索引1(第二个元素)。

2:40 表示:将40赋值给数组索引2(第三个元素)。

查找数组的长度

使用len()函数可以找到数组的长度:

示例

package main
import "fmt"
func main() {
  arr1 := [4]string{"Volvo", "BMW", "Ford", "Mazda"}
  arr2 := [...]int{1, 2, 3, 4, 5, 6}
  fmt.Println(len(arr1))
  fmt.Println(len(arr2))
}

输出:

4
6

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

相关文章

  • go实现一个分布式限流器的方法步骤

    go实现一个分布式限流器的方法步骤

    项目中需要对api的接口进行限流,本文主要介绍了go实现一个分布式限流器的方法步骤,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Golang开发中常用的代码片段汇总

    Golang开发中常用的代码片段汇总

    这篇文章主要给大家汇总了在Golang开发中常用的代码片段,这些代码片段都是在日常工作中编写golang应用时使用到,需要的朋友可以参考借鉴,下面跟着小编一起来学习学习吧。
    2017-07-07
  • Go函数全景从基础到高阶深度剖析

    Go函数全景从基础到高阶深度剖析

    本文深入探索Go语言中的函数特性,从基础函数定义到特殊函数类型,再到高阶函数的使用和函数调用优化,通过详细的代码示例和专业解析,读者不仅可以掌握函数的核心概念,还能了解如何在实践中有效利用这些特性来提高代码质量和性能
    2023-10-10
  • Go语言学习之golang-jwt/jwt的教程分享

    Go语言学习之golang-jwt/jwt的教程分享

    jwt是 json web token的简称。go使用jwt目前,主流使用的jwt库是golang-jwt/jwt。本文就来和大家讲讲golang-jwt/jwt的具体使用,需要的可以参考一下
    2023-01-01
  • Go语言类型转换及问题探讨

    Go语言类型转换及问题探讨

    本文探讨了Go语言中的类型转换机制,特别是在使用atomic.Pointer和unsafe时可能引发的问题,通过深入分析Go语言的类型转换规则,如数值类型间转换、字符串与byte/rune切片转换、slice与数组转换,以及底层类型相同时的转换,文章最后给出了一些在Go中使用类型转换的建议
    2024-10-10
  • 浅谈Go1.18中的泛型编程

    浅谈Go1.18中的泛型编程

    本文主要介绍了Go1.18中的泛型编程,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-12-12
  • 关于golang类型推断和变量重声明详解

    关于golang类型推断和变量重声明详解

    在Go语言中,类型推断可以根据变量的初始化值自动推断出变量的类型,而不需要显式地声明变量类型,变量重声明可以在同一作用域内重复声明一个变量,只要其中至少一个是新的变量,本就简单的给大家介绍一下golang类型推断和变量重声明,需要的朋友可以参考下
    2023-08-08
  • golang之JWT实现的示例代码

    golang之JWT实现的示例代码

    这篇文章主要介绍了golang之JWT实现的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Golang泛型与反射的应用详解

    Golang泛型与反射的应用详解

    如果我想编写一个可以输出任何给定类型的切片并且不使用反射的打印功能,则可以使用新的泛型语法。文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-06-06
  • Go语言内置包的使用

    Go语言内置包的使用

    本文主要介绍了Go语言内置包的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07

最新评论