数组的概述
- 数组就是指一系列同一类型的数据集合。数组中包含的每个数据被称为数组元素,一个数组包含的元素被称为数组的长度
- 数组长度必须是常量,且是类型的组成部分,[2]int和[3]int是不同类型
- 数组的每个元素可以通过索引下标来访问,所有下标的范围是从0开始,最大索引长度-1
数组的初始化
声明定义同时赋值,叫初始化
全局初始化
var a [5]int = [5]int{1,2,3,4,5}简洁写法
b := [5]int{1,2,3,4,5}部分初始化,没有初始化的元素,int自动赋值为0
c :=[5]int{1,2,3} // c = [1 2 3 0 0]指定某个元素初始化
d := [5]int{2:10,4:20} // d = [0 0 10 0 20]
二维数组
声明一个二维数组
var a [3][4]int
b := [3][4]int{
{1,2,3,4},
{5,6,7,8},
{9,10,11,12}
}
二维数组的操作
比较
值支持 == 和 != 比较是不是一个元申都一样,2个数组标胶,数组类型要一样赋值
同类型的数组可以赋值
a := [5]int{123}
var d[5]int
d = a
切片 slice
-
概述:
数组的长度再定义之后无法再次修改,数组是值类型,每次传递都将产生一份副本。显然这中数据结构无法满足开发者的真是需求。GO语言提供了数组切片(slece)来你不数组的不足