Golang 学习 - 切片

为什么使用切片?

  • 数组的容量固定,不能自动拓展。
  • 值传递。因为数组作为函数参数时,将整个数组值拷贝一份给形参,内存消耗大,效率低。
  • 在 Go语言中,我们几乎可以在所有场景中,使用切片替换数组来使用。

切片的本质: 不是一个数组的指针,而是一种数据结构体,用来操作数组内部元素。

切片的使用:

  • 切片与数组定义区别:
    – 创建数组时,[2] 指定数组长度。
    – 创建切片时,[] 为空,或者 […]

  • 定义,切片名称 [ low : high : max ]
    – low:起始下标位置。
    – high:结束下标位置。
    – max:切片的最大容量。
    – 长度 len = high - low
    – 容量 cap = max - low

  • 截取数组,初始化切片时,如没有指定切片最大容量时,则切片容量跟随原数组(切片)。
    – s[:high:max] :从 0 开始,到 high 结束(不包含)。
    – s[low:] :从 low 开始,到末尾。
    – s[:high] :从 0 开始,到 high 结束。容量跟随原先容量。【常用】

  • 切片创建
    – 自动推导类型创建切片: slice := []int{1,2,3,4}
    – slice

你可能感兴趣的:(Golang,golang,后端)