golang之数组与切片

数组

数组可以存放多个同一类型数据,数组也是一种数据类型,在Go中,数组是值类型。

数组的定义:

  var 数组名 [数组大小]数据类型

  var a [5]int

  赋初值   a[0] = 1    a[1] = 30 ....

数组在内在布局

 总结:

  1)数组的地址可以通过数组名来获取 &intArr

  2)数组的第一个元素的地址,就是数组的首地址

  3)数组的各个元素的地址间隔是依据数组的类型决定,比如int64——>8    int32——>4 ....

数组遍历:

  for-range

    这是Go语言一种独有的结构,可以用来遍历访问数组的元素

    用法:

      for index, value := range array01 {

      ...

      }

注意事项和使用细节:

  1)数组是多个相同类型数据的组合,一个数组一旦声明/定义了,其长度是固定的,不能动态变化

  2)var arr []int 这时arr就是一个slice切片

  3)数组中的元素可以是任何数据类型,包括值类型和引用类型,但是不能混用

  4)数组创建后,如果没有赋值,有默认值0

  5)使用数组的步骤 1. 声明数组并开辟空间  2.给数组各个元素赋值  3.使用数组

  6)数组的下标是从0开始的

  7)数组下标必须在指定范围内使用,否则报panic:数组越界

  8)Go的数组属值类型,在默认情况下是值传递,因此会进行值拷贝,数组间不会相互影响 

  9)如想在其它函数中,去修改原来的数组,可以使用引用传递(指针方式)、

  10)长度是数组类型的一部分,在传递函数参数时需要考虑数组的长度。

四种初始化数组的方式:

var numsArray01 [3]int = [3]int {1, 2, 3}
var numsArray02 = [3]int {1, 2, 3}
var numsArray03 = [...]int {6, 7, 8}
var names = [3]string{1: "tom", 0: "jack", 2: "marry"}

猜你喜欢

转载自www.cnblogs.com/xiangxiaolin/p/11817041.html