写点什么

Go 数组

作者:小万哥
  • 2023-08-30
    广东
  • 本文字数:1477 字

    阅读完需:约 5 分钟

Go 数组

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


声明数组


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


  1. 使用var关键字:


语法


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


或者


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


  1. 使用:=符号:


语法


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

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:


公众号搜索Let us Coding知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区


看完如果觉得有帮助,欢迎点赞、收藏关注

发布于: 刚刚阅读数: 6
用户头像

小万哥

关注

代码如人生 2023-02-09 加入

编程爱好者

评论

发布
暂无评论
Go 数组_Go_小万哥_InfoQ写作社区