初级会员
  • 第 61011 位会员
  • ysu03zyy
  • 2021-03-19 12:27:46
  • Offline
  • 20 85

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • 发完后 自己自习想了下这个问题 后面通过查看对应的取值地址,以及append函数的实现原理得到结果 **c := append(a[0:2], a[3:]...) 是 罪魁祸首** `func append(slice []Type, elems ...Type) []Type` append 函数追加的 elems 如果不超过 slice本身的长度时,就直接在 slice后面直接追加了,不会再开辟新的空间 所以, len(a) = 5 `a[0:2] = []int{0, 1}` `a[3:] = []int{3,4}` 2+2 < 5, 所以会直接进行追加 导致 a[2],a[3] = a[3],a[4] 这样的一个运算, 同时 a、c 两个会互相影响