切片和数组对比

数组
数组是具有固定长度且拥有零个或者多个相同数据类型元素的序列
数组的长度是数组类型的一部分,所以[3]int和[4]int是两不同的数组类型
数组需要指定大小,不指定也会根据初始化的自动推算出大小,不可改变;
数组是值传递;
数组是内置(build-in)类型,是一组同类数据的集合,他是值类型,通过从0开始的下标索引访问元素值
数组的长度也是其1类型的一部分,通过内置函数len(array)获取其长度
在初始化后长度是固定的,无法修改其长度,当做为方法的参数传入将复制一份数组而不是引用同一指针

 

 

切片
切片表示一个拥有相同元素的可变长度的序列
切片是一种轻量级的数据结构,他有三个属性:指针,长度和容器
切块结构如下:
type Slice struct {
    type unsafe.Pointer
    len int
    cap int
}
切片不需要指定大小
切片是地址传递
切片可以通过数组来初始化,也可以通过内置函数make()初始化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值