Golang 进阶文章一览

  1. 1、Golang Design Cornerstone
  2. 2、Concurrency Pattern
  3. 3、Error Handling
  4. 4、Naming
  5. 5、Package Management
  6. 6、Logging
  7. 7、Code Style
  8. 8、Debug&Profile&Diagnostics
  9. 9、TDD
  10. 10、Golang Struct
  11. 11、精华网站

最近在组内 Code Review 发现很多同学学习时间虽然不短,但Golang的一些基本Pattern仍然有所疏漏。



1、Golang Design Cornerstone

Do not communicate by sharing memory; instead, share memory by communicating.

《Share Memory By Communicating》
《Concurrency is not parallelism》

2、Concurrency Pattern

《Go Concurrency Patterns: Context》
《Go Concurrency Patterns: Pipelines and cancellation》
《Go Concurrency Patterns: Timing out, moving on》
《Advanced Go Concurrency Patterns》
《Context isn’t for cancellation》
《Never start a goroutine without knowing how it will stop》
《Rethinking Classical Concurrency Patterns》
《Timeouts and Deadlines》

3、Error Handling

《Errors are values》
《Don’t just check errors, handle them gracefully》


《Package names》
《Avoid package names like base, util, or common》

5、Package Management

《Using Go Modules》


《Let’s talk about logging》

7、Code Style

《SOLID Go Design》
《Do not fear first class functions》
《The Zen of Go》
《Clear is better than clever》
《Go, without package scoped variables》
《Should methods be declared on T or *T》
《Simplicity and collaboration》


《Profiling Go Programs》
《Stack Traces In Go》


《Prefer table driven tests》

10、Golang Struct

《If a map isn’t a reference variable, what is it?》
《Slices from the ground up》


Gopher Academy BlogThe official Go BlogGolang TalksGo WikiDave Cheney

版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0 CN 许可协议。转载请注明出处!

# Golang