深度思维者

永远年轻,永远热泪盈眶

摘要: 1. 前言 Slice又称动态数组,依托数组实现,可以方便的进行扩容、传递等,实际使用中比数组更灵活。 正因为灵活,如果不了解其内部实现机制,有可能遭遇莫名的异常现象。Slice的实现原理很简单,本节试图根据真实的使用场景,在源码中总结实现原理。 2 Slice实现原理 Slice依托数组实现,底层 阅读全文
posted @ 2021-06-17 23:04 failymao 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 1. chan数据结构 src/runtime/chan.go:hchan定义了channel的数据结构,如下 type hchan struct { qcount uint // 当前队列中剩余元素个数 dataqsiz uint // 环形队列长度,即可以存放的元素个数 buf unsafe.P 阅读全文
posted @ 2021-06-17 07:08 failymao 阅读(510) 评论(0) 推荐(0) 编辑