作者回复: 思考题完成的很细致,很全面。手动点赞!
作者回复: 正确✅
作者回复: 正确✅
作者回复: 👍。
作者回复: 扩容是新分配一段连续的大点的内存,原先的内存块不要了。所以依旧是连续的。
作者回复: 你用的是什么版本的go编译器,go 1.18,如果是go 1.18,那么可以看https://mp.weixin.qq.com/s/4wYrwBwnuylSvTaxBMXUgg ,go 1.18对slice的扩容算法了调整。
作者回复: ✅
作者回复: ✅
作者回复: class是面向对象语言的专有名词。go定位就不是oo语言,所以没有class。
作者回复: 首先是否为nil与自身是否能取地址无关。 var p *int = nil println(&p) // 这取地址也是可以的。 切片是复合数据类型,如果其没有被初始化,那么go语言规定其默认的零值就为nil。