golang-slice

最近在使用golang进行开发,使用slice的时候遇到了一些坑

slice:用来弥补数组的不足,称之为数组切片

创建数组切片的方式

1:基于数组

var array [10]int = [10]int{1,2,3,4,5,6,7,8,9,10}

var slice []int = array[:5] //基于数组的前5个元素创建数组切片

2:直接创建

slice := make([]int,5,10) //创建一个初始元素个数为5,初始值为0,并预留10个元素的存储                                            空间的数组切片

内置函数:

cap():返回数组切片分配的空间大小

len():返回数组切片当前所存储的元素个数

例子:

示例代码

运行后的结果:

结果

从上面的结果我们可以看出来,当slice的长度超过了cap()即预留的空间大小后,系统为重新为slice分配一个新的内存空间地址,slice的地址就发生了变化,这个是需要注意的地方

新手学习,以后会不断更新的...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • slice 的创建有两种方法 test := []int{2,3} 或者是使用make,而且通常我们使用 make...
    beiciye阅读 5,576评论 0 0
  • 创建切片,len、cap、append 上述代码是生成默认占用5个0值的切片,下面的输出结果是另一回事 上述代码是...
    yongsean阅读 1,229评论 0 0
  • array 和slice都是数组,前者固定大小,值类型;后者可以动态变更,引用类型。再次强调一遍,array在go...
    大漠狼道阅读 4,643评论 0 0
  • 出处---Go编程语言 欢迎来到 Go 编程语言指南。本指南涵盖了该语言的大部分重要特性 Go 语言的交互式简介,...
    Tuberose阅读 18,640评论 1 46
  • 本文翻译自Rob Pike的文章《Arrays, slices (and strings): The mechan...
    大蟒传奇阅读 10,384评论 2 8

友情链接更多精彩内容