关注
你的理解基本上是正确的。在 Go 中,slice 是一个引用类型,它包含了一个指向底层数组的指针、长度和容量。当你将一个 slice 作为参数传递给函数时,实际上是将 slice 的副本传递给函数,但是这个副本仍然指向相同的底层数组。
如果函数内部修改了 slice 的长度(例如使用 append 函数),那么会创建一个新的底层数组,并将原有的元素复制到新的数组中。这时,函数内部的 slice 和外部的 slice 将指向不同的底层数组。
如果函数内部只是修改了 slice 中的某个元素的值,而不改变长度,那么修改会影响到外部的 slice,因为它们共享同一个底层数组。
总结起来,当你传递一个 slice 给函数时,函数内部对 slice 的修改会影响到外部的 slice,除非函数内部改变了 slice 的长度。
查看原帖
1 2
相关推荐
10-29 15:51
嘉应学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 十二月请对我好一点 #
6831次浏览 146人参与
# 父母对你找工作是助力还是阻力? #
2388次浏览 63人参与
# 哪一瞬间让你觉得“这班不如不上” #
2015次浏览 22人参与
# 为了去实习,我赌上了___ #
2152次浏览 40人参与
# 工作中出现了XX情况正常吗 #
8488次浏览 108人参与
# 聊聊我眼中的AI #
485092次浏览 6713人参与
# 一人推荐一个值得做的项目 #
2771次浏览 49人参与
# 高薪高压 vs 低薪wlb,你怎么选? #
3523次浏览 42人参与
# uu们,春招你还来吗? #
1961次浏览 24人参与
# 回顾今年你干过的最“勇”的一件事 #
4455次浏览 72人参与
# 工作前VS工作后,你的心态变化 #
3843次浏览 34人参与
# 公司福利里最没用的一项是啥 #
2449次浏览 56人参与
# 秋招有哪些公司要求提前实习 #
90928次浏览 482人参与
# 如何用一句话描述你的职业 #
27906次浏览 180人参与
# 机械人的金三校招总结 #
38884次浏览 465人参与
# 追觅科技求职进展汇总 #
28893次浏览 181人参与
# 职场上哪些事情令人讨厌 #
32304次浏览 142人参与
# 你收到了团子的OC了吗 #
1469233次浏览 11805人参与
# 毕业季,给职场新人一些建议 #
161747次浏览 2365人参与
# 应届生,你找到工作了吗 #
90918次浏览 570人参与
