数组
创新互联建站专注于企业全网营销推广、网站重做改版、陕西网站定制设计、自适应品牌网站建设、HTML5、商城网站制作、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为陕西等各大城市提供网站开发制作服务。是内置(build-in)类型,是一组同类型数据的集合,它是值类型,通过从0开始的下标索引访问元素值。在初始化后长度是固定的,
无法修改其长度。当作为方法的参数传入时将复制一份数组而不是引用同一指针。数组的长度也是其类型的一部分,通过内置函数
len(array)获取其长度。
注意:和C中的数组相比,又是有一些不同的
1、Go中的数组是值类型,换句话说,如果你将一个数组赋值给另外一个数组,那么,实际上就是将整个数组拷贝一份
2、如果Go中的数组作为函数的参数,那么实际传递的参数是一份数组的拷贝,而不是数组的指针。这个和C要区分开。因此,在Go
中如果将数组作为函数的参数传递的话,那效率就肯定没有传递指针高了。
3、array的长度也是Type的一部分,这样就说明[10]int和[20]int是不一样的。
切片
数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型Slices切片(“动态数组"),与
数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。切片中有两个概念:一是len长度,二是cap容
量,长度是指已经被赋过值的大下标+1,可通过内置函数len()获得。容量是指切片目前可容纳的最多元素个数,可通过内置函数
cap()获得。切片是引用类型,因此在当传递切片时将引用同一指针,修改值将会影响其他的对象。
以上就是golang数组和切片的区别是什么的详细内容,更多请关注创新互联其它相关文章!
本文题目:go语言中的数组和切片有什么不同-创新互联
标题来源:https://www.cdcxhl.com/article0/ccecoo.html
成都网站建设公司_创新互联,为您提供服务器托管、网站导航、App开发、移动网站建设、域名注册、网站设计
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联