共计 1935 个字符,预计需要花费 5 分钟才能阅读完成。
数组用于在单个变量中存储雷同类型的多个值,而不是为每个值申明独自的变量。
申明数组
在 Go 中,有两种申明数组的形式:
- 应用
var
关键字:
语法
var array_name = [length]datatype{values} // 这里定义了长度
或者
var array_name = [...]datatype{values} // 这里长度是隐含的
- 应用
:=
符号:
语法
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, 简书 , 博客园 , 慕课 ,51CTO,helloworld, 腾讯开发者社区 , 阿里开发者社区
看完如果感觉有帮忙,欢送 点赞、珍藏 和关注