我们应该怎么样编写 Go 语言库,有哪些标准可以参考?
云栖号:https://yqh.aliyun.com第一手的上云资讯,不同行业精选的上云企业案例库,基于众多成功案例萃取而成的最佳实践,助力您上云决策! 不久前我和朋友们想出一个主意,准备合并我们的 IRC bots,并用 Go 重写它们。为了防止重写大部分现有功能,我们试图找到支持 bots 程序中使用的 Web API 的现有库。我们的项目需要一个 Reddit API 的库。这篇文章启发于我找到的前三个库,我不打算说出它们的名字,以免羞辱它们的作者。 上面说的每一个库都存在一些基本问题以至于它们在真实场景中不可用。并且每个库都以这样一种方式编写:不以非向后兼容的方式修改现有库的 API,这样是不可能修复问题的。不幸的是,由于很多其他的库也存在同样的问题,所以我会在下面列出一些作者错误的地方。 不要对 HTTP 客户端硬编码 很对库都包含了对 http.DefaultClient 的硬编码。虽然对库本身来说这并不是问题,但是库的作者并未理解应该怎样使用 http.DefaultClient 。正如 default client 建议它只在用户没有提供其他 http.Client 时...


