# Golang Coding Style

## 默认实践

- 错误显式处理，不隐藏在层层包装后失去上下文。
- context 传递和取消语义保持一致，不把它当万能参数包。
- 包边界清楚，避免循环依赖和超大 util 包。

## 并发

- goroutine 生命周期可追踪，资源释放和退出条件明确。
- channel 用来表达明确协作关系，不把它当临时全局总线。
