-
我只是对一个切片做了 append,结果它悄悄改掉了另一个切片的数据,我盯着这个幽灵修改查了大半天才搞懂共享底层数组的深度复盘
我从一个切片 s 上用 sub := s[1:3] 切出子切片,以为 sub 是独立的、改它不影响 s。结果对 sub 做了 append 后,回头一看 s,它某个元素竟被悄悄改掉了——我一个字都没碰 s!深挖才懂:Go 切片本质是"底层数组的视图",由 (ptr,len,cap) 组成,子切片和原切片共享同一个底层数组、没复制数据;sub 的 cap 还够时 append 不…- 2
- 0
append扩容
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!

