摘要:
channel的整体结构图 简单说明: buf是有缓冲的channel所特有的结构,用来存储缓存数据。是个循环链表 sendx和recvx用于记录buf这个循环链表中的发送或者接收的index lock是个互斥锁。 recvq和sendq分别是接收(<-channel)或者发送(channel <- 阅读全文
posted @ 2025-04-07 19:11
搁浅~浅浅浅
阅读(65)
评论(0)
推荐(0)
摘要:
make和new的区别 (√) make和new都是用于创建新对象的内置函数, 但make用于创建引用类型的对象,返回的是一个已经初始化了的对象; 而new用于创建值类型的对象,返回的是一个指向新对象的指针。 1.初始化的区别 make和new都是golang用来分配内存的內建函数,且在堆上分配内存 阅读全文
posted @ 2025-04-07 17:31
搁浅~浅浅浅
阅读(48)
评论(0)
推荐(0)
摘要:
map定义 map是一种key-value键值对的存储结构,其中key是不能重复的,其底层实现采用的是hash表。 map的数据结构 首先我们先列出源码结构关键字段,实现在 src/runtime/map.go: type hmap struct { count int // 元素的个数 B uin 阅读全文
posted @ 2025-04-07 17:13
搁浅~浅浅浅
阅读(191)
评论(0)
推荐(0)

浙公网安备 33010602011771号