golang 数组基础

文章发布于 2023-08-21

golang 数组是一个固定长度元素组成的序列,数组可以嵌套数组。数组元素可以是任意基础类型。但是任然是这样,在golang中数组却不是最常用的数据类型,就因为它固定长度的特点缺乏一些灵活性。

语法

//声明不赋值
var arr [number]type

//声明并赋值
var arr [number]type{value1,value2,.}

//... 使用元素值的个数作为数组长度 ...
var arr = [...]int{value1,value2,.}

//嵌套数组
var arr [num1][num2] int;

声明数组

// 仅声明不赋值 
var arr [2]int;

//声明且赋值
var arr = [2]int{1,222}

//使用...来声明元素,必须赋值否则报错 `array outside of array literal`
var arr = [...]int{1,2,3,4,5}

多维数组

//嵌套数组
var arr = [2][1]int{{1},{222}}

//多维数组使用[...]报错 use of [...] array outside of array literal
var arr = [...][...]int{{1},{1,2,3}} // 错误

循环数组

使用for...range 来遍历数组。

var arr3 = [3]string{"a", "b", "c"}
for key, val := range arr3 {
    fmt.Printf("key:%d,value:%s", key, val) //key:0,value:akey:1,value:bkey:2,value:c
}

如果不需要key,可以使用_下划线来丢掉。

var arr3 = [3]string{"a", "b", "c"}
for _, val := range arr3 {
    fmt.Printf("value:%s",  val) //value:a, value:b ,value:c
}

上面相关golang 数组的基础就书写完毕了。后面还会讲解一些有关数组方法的使用,请持续关注。