当前位置:   article > 正文

Go slice切片详解和实战(2) make append copy_slice函数的切片颜色

slice函数的切片颜色

回顾

上一篇文章我们介绍了切片slice的定义初始化、引用类型特征、如何使用数组切割成切片。编程学习资料点击免费领取

这篇文章介绍切片的生成make()、切片的追加append()、切片的复制copy()。对知识点进行详细介绍和应用实战。

加深理解

  1. 切片的本质:切片的本质是一个框,框住了一块连续的内存
  2. 切片属于引用类型,真正的数据都是保存在底层数组里的
  3. 切片可以简单理解为是快捷方式,修改会互相影响
  4. 判断一个切片是否为空,使用len(s) == 0 判断,不能使用 s==nil 判断

生成切片 make

上需求:请定义一个长度为5,容量为10的整型切片。

上代码:

  1. s1 := make([]int,5,10)
  2. fmt.Printf("s1:%v len(s1):%d cap(s1):%d\n", s1, len(s1), cap(s1))
  3. 复制代码

打印结果:

分析:make()函数的第一个参数指定切片的数组类型,第二个参数指定切片的长度,第三个参数指定切片的容量。

更好的理解长度和容量

  1. s1 := make([]int,5,10)
  2. fmt.Printf("s1:%v len(s1):%d cap(s1):%d\n", s1, len(s1), cap(s1))
  3. s2 := make([]int, 0, 10)
  4. fmt.Printf("s2=%v len(s2)=%d cap(s2)=%d\n", s2, len(s2), cap(s2))
  5. 复制代码

打印结果:

分析: 我们可以发现定义切片时元素的个数和长度相关,因为长度就是元素的个数。

容量我们在下面介绍append()时,重点介绍一下。

切片引用类型实战

上代码

<
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号