- 作者:Teiva Harsanyi
- 原名:《100 Go Mistakes and How to Avoid Them》
- 译者:李天时
- 校订:上杉夏香
使用 Github Pages 以获取最佳阅读体验。
本地:你可在项目根目录中执行
make
,并通过浏览器阅读(在线预览)。
从原作者处得知,已经有简体中文的翻译计划。购买地址
译者纯粹出于 学习目的 与 个人兴趣 翻译本书,不追求任何经济利益。
译者保留对此版本译文的署名权,其他权利以原作者和出版社的主张为准。
本译文只供学习研究参考之用,不得公开传播发行或用于商业用途。有能力阅读英文书籍者请购买正版支持。
- 1 Go:入门容易,掌握难
- 2 代码和项目组织
- 3 数据类型
- 4 控制结构
- 5 字符串
- 6 函数与方法
- 7 错误管理
- 8 并发:基础
- 9 并发:实践
- 9.1 传递不恰当的上下文
- 9.2 goroutine 已启动,啥时候停,不确定
- 9.3 goroutine 和循环变量,一不小心就出错
- 9.4 期望使用 select 和 channel 的确定性执行
- 9.5 不要使用布尔类型的通道
- 9.6 不要使用零值通道
- 9.7 通道缓冲区尺寸引入的坑
- 9.8 忘记字符串格式化引入的坑
- 9.9 append 数据引发的数据竞争
- 9.10 切片和 map 使用互斥锁引入的坑
- 9.11 使用 sync.WaitGroup 引入的坑
- 9.12 被遗忘的 sync.Cond
- 9.13 多个 goroutine 并行执行,使用 errgroup 聚合返回错误
- 9.14 拷贝同步类型变量引入的坑
- 10 标准库
- 11 测试
- 12 优化
翻译要做到信、达、雅。
举个例子
Forever21 是一个美国服装品牌,怎么翻译成中文?
- 信:准确的翻译,永远21。
- 达:阅读通顺,永远21岁。
- 雅:接地气,永远18岁。