最近在看 Golang,请教如何避免 Slice 的坑

2018-11-07 13:32:06 +08:00
 goofool

比如 slice 的 append,按我的理解:

1,扩容就生成新的底层数组,修改新的 slice 不会影响原来底层数组;

2,不扩容就不会生成新的数组,修改新的 slice 会修改原来的底层数组;

觉得这种问题很容易掉坑,求教有什么好习惯可以避免掉坑。

3963 次点击
所在节点    Go 编程语言
21 条回复
reus
2018-11-12 12:45:11 +08:00
一个 slice 就是一个 slice,不要把它理解成多个 slice+同一个 array
需要多个 slice,就用 copy
你就不用理会什么扩容不扩容的事情了,也不会觉得有什么坑了

@trait 是他们自己没学好而已

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/505352

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX