Go 语言的数组使用
Posted 小伍
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go 语言的数组使用相关的知识,希望对你有一定的参考价值。
数组简介
- 固定长度,不能动态改变
- 元素类型相同
- 内存连续分配
声明数组
// 声明了一个长度为10的整型数组,所有元素都被自动赋值为0
var nums [10]int
// 或声明同时赋值
nums := [10]int{1, 2, 3, 4}
// 或自动识别数组长度
nums := [...]int{1,2,3,4,5,6,7,8,9,10}
// 或声明同时通过索引赋值
nums := [10]int{1:10, 3:10}
访问数组元素
//获取索引为2的值
nums[2]
//修改索引为2的值
nums[2] = 10
数组赋值
a := [3]int{5, 78, 8}
var b [5]int
//not possible since [3]int and [5]int are distinct types
b = a
a := [3]int{5, 78, 8}
var b [3]int
// 成功
b = a
值传递
a := [...]string{"USA", "China", "India", "Germany", "France"}
b := a
b[0] = "Singapore"
// a is [USA China India Germany France]
fmt.Println("a is ", a)
// b is [Singapore China India Germany France]
fmt.Println("b is ", b)
数组长度
a := [...]float64{67.7, 89.8, 21, 78}
fmt.Println("length of a is:", len(a))
遍历数组
for i := 0; i < len(nums); i++ {
fmt.Println("i:", i, ", j:", nums[i])
}
// value 是值传递,非引用传递
for key, value := range nums {
fmt.Println("key:", key, ", value:", value)
}
// 使用下划线 _ 忽略key
for _, value := range nums {
fmt.Println("value:", value)
}
// 使用下划线 _ 和等号 = 忽略 key, value
for _, _ = range nums {
}
以上是关于Go 语言的数组使用的主要内容,如果未能解决你的问题,请参考以下文章
Go语言技巧之正确高效使用slice(听课笔记总结--简单易懂)