Golang 知识库
Go(又称 Golang)是由 Google 开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言。本站收集整理了 Go 语言相关的核心知识、最佳实践和常见问题解决方案。
🔍 内容导航
基础知识
-
语言特性
-
函数与方法
并发编程
-
Goroutine
- 深入理解Go语言并发调度器GMP模型 - 全面解析Go语言GMP调度器模型的核心原理、设计思想和调度场景,深入理解Goroutine、Machine和Processor的协作机制,掌握Go并发编程的底层实现
- 温故知新——Golang GMP 万字洗髓经 - 从线程到协程,再到 Goroutine,深入理解 GMP 调度模型的演进历程
- Happy Study For Go’s GMP - 轻松学习 Go 语言 GMP 调度模型的核心概念
-
Channel
-
同步原语
- Golang并发控制最佳实践 - 深入解析 Go 语言中的并发控制方法,包括 Mutex、RWMutex、WaitGroup、Context 等
- 从双缓冲到哈希前缀树:Go sync.Map 的并发革命与性能跃迁 - 深入剖析 Go sync.Map 的设计演进,从双缓冲到 Go 1.24 的 HashTrieMap
- 揭秘 Go sync.Map 设计与实现 - 详细解析 sync.Map 的内部实现原理,包括读写分离、dirty 提升等核心机制
内存管理
-
垃圾回收
- Go语言垃圾回收 - 三色标记算法详解 - 深入解析Go语言垃圾回收机制中的三色标记算法,从标记清除法到混合写屏障机制的演进历程,包含详细图解和面试要点
- Go并不需要Java风格的GC - 探讨 Go 语言 GC 设计理念与 Java GC 的差异,理解 Go 为何选择简单高效的 GC 策略
-
内存模型
数据结构
- Map
- Go Map 基础概念与用法 - 深入解析Go语言map的基础概念和基本用法,包括初始化、读写删除、遍历等操作
- Go Map 核心原理与数据结构 - 哈希表核心原理、桶数组结构设计、冲突解决机制等底层实现详解
- Go Map 构造与初始化流程 - 深入解析Go语言map的构造与初始化流程,包括make函数的使用、hmap的创建和tophash数组的填充
- Go Map 读写删除流程详解 - 深入剖析Go语言map的读写删除操作的底层实现原理,包括哈希查找、键值对存储和内存回收机制
- Go Map 遍历机制解析 - 深入解析Go语言map的遍历机制,包括随机遍历顺序的实现原理、遍历过程中的注意事项以及并发遍历的问题
- Go Map 扩容机制深度解析 - 深入剖析Go语言map扩容机制的实现原理,包括增量扩容、等量扩容、渐进式迁移等核心技术细节
- Go Map 面试题解析 - 汇总Go语言map相关的高频面试题及详细解答,涵盖底层原理、性能优化、并发安全等核心考点
性能优化
-
性能分析
-
优化技巧
- 1.5亿行代码1m40s编译完成:抖音直播编译优化之路 - 字节跳动抖音直播团队分享的 Go 编译优化实践,包括增量编译、并行编译等技术
标准库
-
网络编程
-
并发工具
工程实践
-
设计模式
-
最佳实践
🔗 参考资源
最后更新时间:2025-01-17
💡 提示: 这个知识库会持续更新,建议收藏本页面以便随时查阅最新内容。
Comments


