Go+提供了一种长度固定的数据结构结构,他就是数组,他可以用于存放多个相同类型的数据,比如我们要存放100个同学的姓名,我们需要name1、name2、name3…这样来命名,略显繁琐,遇到这种情况,我们可以直接使用数组来进行存储。我们再根据索引(下标)去取值,他的下标是从0开始的,第一个下标是1,初学者可能不是很习惯这种方式。
我们在声明数组的需要同时指定元素个数、元素类型,已经定义长度是可以更改的,他的语法格式如下:
var 变量名 [100] string
var name [100] string
这样我们就定义了一个名称叫name,长度为100,数据类型为String的一维数组。
定义完了数组,我们需要对数组进行初始化,他有两种初始化的方式:
var name = [100]string{"zs","li","ww"}
// 或者也可以使用这一种
name := [100]string{"zs","li","ww"}
要注意的是,我们在对数组进行初始化的时候,我们初始化的量不能超过我们设置的容量大小,也就是说{}
里面的值的数量<=[]
里面的数量。
如果我们在定义之前,确实无法知道确切的长度的时候,我们可以使用...
来作为数组的长度,表示告诉Go+我不知道接下来我定义的数组长度有多大,Go+会自动根据你传进来的值进行判断。
var name = [...]string{"zs","li","ww"}
// 或者也可以使用这一种
name := [...]string{"zs","li","ww"}
如果我们给中国数组设置了长度的话,我们可以通过下标给指定的元素设置长度。
name := [100]string{1:"zs",99:"ls"}
除了一维数组以外的其他数组我们都称之为多维数组,而多维数组种,我们使用最多的就是二维数组,所谓二维数组就是数组里面嵌套一个数组,他可以实现一些比较复杂的需求。他的定义方式也很简单:
name := [3][2]string{
{"张三", "李四"},
{"王五", "赵六"},
{"孙七", "周八"},
}
我们可以把二维数组想象成多行的一维数组。