在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。数组中每个元素类型相同,又是连续分配,因此可以以固定的速度索引数组中的任何数据,速度非常快。 3.1.1声明和初始化1、使用字面量声明数组: array := [5]int{10, 20, 30, 40, 50} 2、自动计算声明数组的长度 //容量由初始化值的数量来决定 array := [...]int{10, 20, 30, 40, 50} 3、声明数组并指定特定元素的值 array := [5]int{1: 10, 2: 20} 4、指针数组 //声明包含5个元素的指向整数的数组,并用整型指针初始化索引为0和1的数组元素 array := [5]*int{0: new(int), 1: new(int)} 3.1.2 使用数组1、访问数组元素 array := [5]int{10, 20, 30, 40, 50} array[2] = 35 //修改索引为2的元素的值 2、访问指针数组的元素 array := [5]*int{0: new(int), 1: new(int)} *array[0] = 10 *array[1] = 20 3、数组的长度是数组类型的一个组成部分,同一类型的数组才可以用”==”相互比较。 a := [2]int{1, 2}
b := [...]int{1, 2}
c := [2]int{1, 3}
fmt.Println(a == b, a == c, b == c) //"true false false"
d := [3]int{1, 2}
fmt.Println(a == d) //compile error: cannot compare [2]int == [3]int
3.1.3 在函数间传递数组在函数之间传递变量时,总是以值的方式传递的。如果这个变量是个数组,意味着整个数组都会完整的复制,并传递给函数。这就意味着对数组参数的任何修改都是发生在复制的数组上,并不能直接修改调用时原始的数组变量。 1、使用值传递,在函数间传递大数组 //声明一个8M大小的数组 var array [1e6]int func foo(array [1e16]int) { ... } foo(arry) //将数组传递给函数foo 2、使用指针在函数间传递大数组 var array [1e6]int ... |
请发表评论