您的位置:首页 > 编程语言 > Go语言

一周 Go World 新鲜事

2018-03-30 00:00 267 查看
01

Golang 项目依赖管理

golang官方提供了包管理工具go get,它将下载的第三方包放到GOPATH的src目录下。项目通常由很多来源不同的包构成,它们都从GOPATH或标准库中导入。为了项目可以正常使用这些包,我们可能需要这么做:
将依赖的包拷贝到项目源码路径下,重写代码中report的包名。

将依赖的包拷贝到项目源码路径下,将项目路径加入到GOPATH。

在文件中写入记录版本,然后将现有GOPATH的包更新为该版本。

[b]出自GoCN每日新闻(2018-03-23)[/b]
原文链接:https://www.opsdev.cn/post/deps.html
02
重新认识Go的接口我最近在Slack上看到很多关于接口的问题。大多数情况下,答案都是技术性的,并侧重于实施细节。实现对于帮助调试非常重要,但实现对设计没有帮助。当涉及使用接口设计代码时,行为必须成为主要焦点。在这篇文章中,我希望提供一种不同的方式来思考接口以及如何使用它们设计代码。我希望你停止关注实现细节,并关注接口与具体数据之间的关系。
出自GoCN每日新闻(2018-03-25)[b]原文链接:https://www.ardanlabs.com/blog/2018/03/interface-values-are-valueless.html[/b]
03

用Promise实现并发 vs Go goroutine我们知道Node.js里充满着大量的异步, 后来出现了Promise以及async/await来解决"callback hell"的问题。我们就来看看promise以及async/await如何简化JS并发代码的编写, 最后再给出一份实现相同功能的Go代码。
出自GoCN每日新闻(2018-03-26)[b][b]原文链接:[/b]https://mp.weixin.qq.com/s/KdVBsgMDYM7LRdnMcbzQYQ[/b]
04Go Channel 应用模式
Channel是Go中的一种类型,和goroutine一起为Go提供了并发技术, 它在开发中得到了广泛的应用。Go鼓励人们通过Channel在goroutine之间传递数据的引用(就像把数据的owner从一个goroutine传递给另外一个goroutine), Effective Go总结了这么一句话:
Do not communicate by sharing memory; instead, share memory by communicating.

出自GoCN每日新闻(2018-03-28)
[b][b][b]原文链接:[/b][/b]http://colobu.com/2018/03/26/channel-patterns/[/b]
05使用Go channel合并大量csv文件通常情况下,在工程中,你所需要的一切并不那么成立。我今天喜欢分享的故事确实属于这一类。这是一个无畏的SRE,在一家健身公司工作,他承担了将运动数据从不太可靠的数据库迁移到一个闪亮的新型微服务的荣誉任务。运动数据的好处是什么,你可能会问?合法的问题!锻炼数据由全球数以万计的强力机器产生,这些强身机器由培训界组织,来自世界各地的健身房和健身室。这些机器挑战我们的用户,让他们出汗,并帮助他们达到他们的培训目标。

出自GoCN每日新闻(2018-03-20)
[b][b][b][b]原文链接:[/b][/b][/b]https://danrl.com/blog/2018/merging-huuuge-csv-files-using-golang-channels/[/b]
点击“阅读原文”后进入左上角“每日新闻”,查看本周更多新资讯
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: