刚开始接触 Go 的开发者大概都会遇到一个问题:我该如何组织我的 Go 项目?这种问题当然没有标准答案,不过 Go 官方下场,给了广大 Gopher 一个推荐模板。本文就来带大家一起来学习一下 Go 官方对于 Go 项目布局的指导原则。
本文以 Go 官方博客「Organizing a Go module」为基石进行讲解。
阅读全文…
如果你熟悉 Java、Python 等编程语言,那么你一定听说或者使用过进程池或线程池。因为进程和线程不是越多越好,过多的进程或线程可能造成资源浪费和性能下降。所以池化技术在这些主流编程语言中非常流行,可以有效控制并发场景下资源使用量。
而 Go 语言则没有提供多进程和多线程的支持,仅提供了协程(goroutine)的概念。在 Go 中开启 goroutine 的成本非常低,以至于我们在绝大多数情况下开启 goroutine 时根本无需考虑协程数量,所以也就很少有人提及 Go 的协程池化技术。不过使用场景少,不代表完全没用。通过协程池我们可以来掌控资源使用量,降低协程泄漏风险。
阅读全文…
本文翻译自:https://endler.dev/2025/best-programmers/
Published on 4th of April, 2025 · Updated on 18th of April, 2025
我一生中遇到过许多开发者。最近我在思考:“怎样才能成为最优秀的程序员?他们有哪些共同特质?”
基于对业内顶尖人才的观察,我整理出了这些特质。希望这份清单能给正在成长中的开发者启发,若我职业生涯早期能有这样的指引,定能节省大量时间。
阅读全文…