- 博客(4)
- 收藏
- 关注
原创 Go map 内部原理
map被定义为存储键值对集合的数据结构,其中单个键与单个值相关联。它提供了一种基于唯一标识符(键)存储和检索数据的有效方法。Go 语言中提供了一个实现了哈希表的内置map类型。
2025-01-07 11:10:04
1206
原创 Go 接口值(P3):动态分派的时机
动态分派需要在运行时中根据动态地确定应该调用哪个方法。但问题是在运行时确定具体调用方法的时机是什么时候?是方法调用的时候动态确定呢,还是在将具体类型赋值给接口的时候呢?
2024-11-12 14:19:36
1636
原创 Go 接口值(P2):动态分派与接口表
存储时产生的哈希冲突的。严格意义的二次探测会按照平方进行偏移的去寻找下一个可用的位置,当我们在哈希表中插入一个新元素时,若该元素的哈希位置已经被占用,二次探测不会按线性方式去探测下一个位置(如 h+1, h+2, h+3, …开放寻址是一种用于处理哈希表哈希冲突的实现方式,相比于使用链表处理哈希冲突(Go 1.10 以前使用的这种方式),它直接在哈希表内部找到新的空位置来存储冲突的元素。这个序列虽然每次都在增加,但由于每次都叠加i,它产生的结果比单纯的线性递增更快地偏离原来的位置,又比二次方的增长缓和。
2024-10-22 10:09:33
1863
1
原创 Go 接口值(P1):动态类型与动态值
在讨论 Go 接口时,我们通常会首先关注接口类型本身的定义与使用。然而,仅仅理解接口的声明是不够的。我们有必要进一步探讨它背后运作的核心机制,尤其是**接口值**这一概念。接口值在Go语言中的作用至关重要,它不仅影响到"多态"的实现,还会关系到程序的行为。那么,什么是接口值呢?
2024-10-22 10:09:04
1726
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅