关于Slice的一个问题

来源:24-1 新建项目和目录结构构建

精慕门4214220

2021-03-26

图片描述
最终打印出来的是 [2,3,4] ,问题就在于,既然改变了s里的元素值,那为什么append进去的0却在外面的s里面找不到呢?在Print函数里面也没有发生扩容的操作。
不知道这是什么原理,希望老师给解答一下

写回答

1回答

bobby

2021-03-27

课程中讲解过slice的原理, 传递到函数中的实际上是一个slice的结构体,这个slice的结构体指明了这个slice的cap和len, 所以你的print函数虽然改变了底层的array中的值,但是实际上外面的s 的len还是3 是无法打印到你append的0这个值的

0
0

Go+Python打造电商系统 自研微服务框架 抓紧高薪机遇

快速转型Go工程师,成为具备双语言后端能力的开发者

508 学习 · 530 问题

查看课程