-
Notifications
You must be signed in to change notification settings - Fork 305
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
关于13.1节的疑问 #95
Comments
抱歉还没来得及看,为什么又关掉了? |
如果append时没有发生扩容,原来的slice也是变化的(元素增多了)。 |
嗯,如果append没有使slice扩容,slice指向的底层数组是同一个,且里面元素发生变化。但是append是值传递,对于原slice来说,如果不接收返回值,它的len不会改变,所以底层数组的变化不会体现到它上面。所以我感觉问题不在于是否发生扩容。(这种情况 slice没有扩容,错误信息也是不会返回)。(不知道我理解的是否有偏差) |
是的,我也是这么理解的。 所以,你觉得13.1节需要改,还是13.3节需要改。建议如何改? |
原文“append()函数每次追加元素都有可能触发切片扩容,即有可能返回一个新的切片”,这里的“即有可能”是不是可以去掉呀,我理解的是每次都会返回新切片(即使共享底层数组的情况也算一个新切片吧?)。我觉得13.1的例子可以合并到13.3中😂。 |
感觉13.1节的内容跟13.3节有冲突,因为13.3节解释到append时值传递所以不可能操作原来的slice。那13.1节的扩容分析感觉不是问题所在,即使不扩容,只要不接收返回返回值,原来的slice也不会变化。
The text was updated successfully, but these errors were encountered: