首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
Go的相关知识
Soofjan
创建于2026-03-04
订阅专栏
保证通俗易懂
暂无订阅
共17篇文章
创建于2026-03-04
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Go interface:语法、接口值与常见坑
接口类型与隐式实现、双分量、内建 error、nil 坑、any、断言与 type switch;源码见 interface 源码笔记。
Go 内存管理(3):内存泄漏与逃逸
区分逃逸与泄漏在编译期和运行期的边界,用 -gcflags=-m 与 pprof 建立排查路径,结合常见场景解释为什么“长期可达”才是 Go 泄漏判断核心。
Go 内存管理(2):内存回收
站在分配器之后看回收器,按触发条件与四个阶段拆解一轮 GC,理解 STW、并发标记、写屏障、Assist 与清扫协作,建立从现象到机制的整体认知。
Go 内存管理(1):内存分配
从 Go 进程内存区域切入,先建立堆分配总览,再串起 mcache、mcentral、mheap、mspan 与 size class 的协作关系,最后按 tiny、小对象、大对象三条路径梳理一次完整
GMP: 调度机制
用「工人 / 任务 / 工位」对齐 G、M、P 与 schedt,说明绑定关系、调度主链、findRunnable 顺序,以及阻塞与 syscall 的恢复直觉,便于接着读源码。
GMP:由来
从传统线程的成本,到 GM、多 M 瓶颈,再到 GMP 与工作窃取、抢占机制,串起 Go 调度器的演化脉络,建立读源码前的直觉。
Channel:收发、关闭与阻塞语义
理解 Go channel 的语义与常用模式,学习 channel 的用法和实现原理。学习如何使用 channel 来实现并发编程。
Context:取消、超时与跨 goroutine 传递
理解go context 里的语义、作用以及和函数的相互关系,讲述了Value和Cancel的流程。
同步原语(2):同步原语和锁
理解 Go 同步原语和锁机制,学习 sync.Mutex,sync.RWMutex,sync.WaitGroup,sync.Once,sync.Cond,sync.Semaphore和sync.sin
同步原语(1):sync.Mutex讲解
从 state、sema 位与 Lock/Unlock 快、慢路径切入,解释 goroutine 如何拿锁解锁。
Go 关键字:defer / panic & recover / make & new
用几页内容吃透 select、defer、panic & recover、make & new:场景、坑点与核心差异,一文梳理清楚。
Go select 关键字:多路 channel、空 select 与实现要点
介绍 select 的语法与用途,说明空 select 阻塞与死锁提示、default 非阻塞收发,并概括运行时多路匹配(pollorder、lockorder、sudog)与公平性。
sync.Map:何时用、工作原理
本文简要梳理 sync.Map 的适用场景与核心实现思路,并给出常用 API 的使用要点与注意事项。
Go map(2):SwissTable 实现要点
深入解析Go 1.24中Map使用SwissTable的实现原理,包括SIMD优化、扩容机制和迭代语义的详细分析。
Go map(1):(1.24 前)旧版结构与扩容
# 一、Map是个什么东西 Map 是一种存储Key-Value的数据结构。底层依托**数组**实现,通过哈希函数将 Key 转换为**数组下标**,从而将搜索复杂度降至 O(1)。 但是数组大小是有
数组与切片:切片的扩容
Go 数组是长度固定的值类型,传递时产生全量拷贝。切片则是基于数组的引用类型,由指针、长度和容量组成,支持动态扩容。其核心逻辑 growslice 在扩容时,针对小切片翻倍,大切片则平滑过渡
Go 基础:导读
Go 语言凭借 goroutine 实现天然高并发,语法简洁且编译性能高。与 Java 相比,它去除了继承,改用组合实现松耦合。针对数据处理,可通过 JSON、Gob 或第三方库实现深拷贝。闭包作为函