随笔 - 173,  文章 - 0,  评论 - 0,  阅读 - 10万

显示优于隐式
map类型: make(map[int]int),再没有声明长度的情况下,是可以执行的。
slice类型: make([]int),在没有生命长度的情况下,则是不可以执行的。
因为分配的数据结构底层逻辑不同,map是作为hash结构,支持动态扩展,有懒加载的逻辑支撑。
而slice,功能上属于去掉了长度限制的数组,为了支持顺序存储和索引快查,在这种逻辑下,slice需要显示声明它的容量,同时为了提升编译器的效率(slice作为高频使用数据类型)。

而且显示和隐式最大的区别,按我个人来看:就是你能知道多少。作为一个工程师而言,其实我还是想知道很多的,我不认为make([]int, 0)和make([]int)对个人的工作效率,提升有多少。
但相反的是,正是这种区别,才会让我深入map、slice的真正区别。
对于扩展知识方面,比较有帮助。

posted on   黑熊一只  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2023-11-09 kill信号量详解
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示