golang切片初始化方式(golang初始化数组)

golang切片类型介绍

Golang中的切片类型是一种非常重要的数据结构,它是对数组的封装,它是一个动态的、可扩展的序列,可以容纳任何类型的数据。在使用切片时,我们不需要在定义时指定大小,它可以根据数据量的大小自动调整其长度。切片在Golang中是一种引用类型,可以用make()函数来创建。

golang切片初始化方式

Golang中有三种切片初始化方式:

  • make()函数初始化
  • 字面量初始化
  • 从一个已有的数组或切片中创建新的切片

make()函数初始化

make()函数是创建切片的最常用方式。它的语法为:make([]T, len, cap),其中参数T代表类型,len代表切片初始化长度,cap代表切片的容量。

//创建长度为5,容量为10的int类型切片
s := make([]int, 5, 10)

切片的容量与长度之间的关系是紧密相连的。如果我们只给定了长度len而没有指定容量cap,那么容量与长度相等。当然,我们也可以同时指定长度和容量,但是容量必须大于或等于长度。如果我们只给定类型,而没有长度和容量,那么切片的默认长度和容量都为0。

字面量初始化

在Golang中,我们也可以使用字面量初始化切片。它的语法非常简单,只需要在一个花括号{}中用逗号分隔值即可。我们可以很方便地初始化整数、字符串等类型的切片。

//初始化一个长度为3的字符串切片
s := []string{"apple", "banana", "peach"}

从一个已有的数组或切片中创建新的切片

我们还可以通过已有的数组或切片创建新的切片。它也是使用make()函数来创建新的切片。我们需要在make()函数中指定数组或切片的长度和容量,并将其赋值给新的切片。我们还可以通过指定起始位置和终止位置来创建切片,新切片包含的元素是原切片中指定位置范围的元素。

arr := [5]string{"apple", "banana", "orange", "peach", "grape"}
slice1 := arr[0:3] //包含数组中下标0、1、2的元素,长度和容量都为3
slice2 := arr[2:5] //包含数组中下标2、3、4的元素,长度为3,容量为3
slice3 := arr[1:4] //包含数组中下标1、2、3的元素,长度为3,容量为4

使用Slicing创建新的切片时,需要注意终止位置是不包含在新切片中的,比如上面的slice1中,包含的元素是arr[0],arr[1],arr[2],arr[3]和arr[4]不包含在slice1中。这是一个需要特别注意的点,因为它可能会导致一些错误。

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/golang-jv6v.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2023年5月2日 上午3:46
下一篇 2023年5月2日 上午3:46

猜你喜欢