对比map/chan想不通为何makeslice返回一个可转换的指针?

来源:1-9 神奇的内置数据结构

落笔锋

2021-06-28 16:26:37




- makechan 返回hchan结构体实例的指针

http://img.mukewang.com/climg/60d98737099e407712440568.jpg


- makemap返回hmap结构体实例的指针

http://img.mukewang.com/climg/60d9874809fd920915620518.jpg


- makeslice 为何返回这个

unsafe.Pointer 不是type slice的一个实例的指针? 不知道有什么特殊的用意

http://img.mukewang.com/climg/60d98712091a7ffe15900764.jpg

写回答

1回答

Xargin

2021-06-29

slice 和其它结构这种算是语义不太一致的情况。。。


比如你给一个结构体传内置数据结构,大多数相当于是传个指针进去,


slice 则相当于传了 addr,len,cap 这三个字段进去


个人觉得单纯是没设计好。。

0

Go高级工程师实战营

慕课网与 GoCN 社区官方联手打造,定义行业Go高级人才培养标准,4个月,快速晋升为P6+/D7级高级人才。

458 学习 · 266 问题

查看课程