go语言数组
Posted ivy-blogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了go语言数组相关的知识,希望对你有一定的参考价值。
go 语言数组
go语言的数组只能存储同一种数据类型,数组必须制定它的数据的存储类型和存储数据的长度。
声明数组
package main
import "fmt"
func main() {
// 零值声明
var list1 [3]int
fmt.Println(list1) // [0 0 0]
// 用...自己声明数组的长度
var list2 = [...]string{"a", "b", `c`}
fmt.Println(list2) // [a b c]
// 让数组自定来判断数组的长度时,当前的数组必须有值
// 使用索引的方式来初始化
var list3 = [...]int{0: 2, 5: 3}
fmt.Println(list3) // [2 0 0 0 0 3]
// 当初始化的值没有全部制定时候,剩下的全部用数组存储类型的0值来代替
var list4 = [10]int{1, 3, 4}
fmt.Println(list4) // [1 3 4 0 0 0 0 0 0 0]
// 多维数组
var list5 = [...][3]int{{1}, {2, 3}, {2, 2, 2}}
fmt.Println(list5) // [[1 0 0] [2 3 0] [2 2 2]]
// 多维数组只有外层才可以使用...来自动判断数组的长度
}
数组的操作
数组的长度是确定的,数组来声明的时候如果没有完全确定成员的数组,那么没有确定的值将使用当前数组存储的数据类型的零值来代替,所以数组是不支持增加和删除的操作的
package main
import "fmt"
func main() {
var list = [3]int{}
fmt.Println(list) // [0 0 0]
// 数组根据下标来修改
list[1] = 3
fmt.Println(list) // [0 3 0]
// 数组根据下表取值
item := list[1]
fmt.Println(item) // 3
}
数据的遍历
package main
import "fmt"
func main() {
var list = [...] int {1,2,3,5,7}
for i:=0;i<len(list);i++ {
fmt.Println(list[i])
}
}
数组是值类型,当一个数组被当成参数传递到函数中的时候,函数内部使用的是数组的副本
以上是关于go语言数组的主要内容,如果未能解决你的问题,请参考以下文章
Go语言技巧之正确高效使用slice(听课笔记总结--简单易懂)