语法克制、并发是一等公民,适合接口、网关和工具。
Go 把很多选择提前做掉了:格式化只有一种,依赖有官方工具,编译结果常常是单一可执行文件。团队里不同的人写出来的代码,读起来会比较像同一种语言。
用 go 关键字就能起一段并发流程。它比线程轻,适合一边听请求一边做后台工作,但仍然要管生命周期,不能只起不管。
通道用来交接数据,而不是靠全局变量偷偷传递。谁在发、谁在收、什么时候关闭,比锁的意图更直白。
超时、取消和请求级的值顺着调用链往下走。接口一旦对下游失去耐心,整条链路都该停,而不是继续打空转。
error 被返回,而不是被抛到天上。调用方必须看见失败,日志、重试和降级才能被显式写出来。
HTTP、JSON、测试和模板都在标准库里。先用官方的,再引入框架,服务会更容易部署到任何一台机器。