一周 Go world 新鲜事
收藏

No.1

优雅关闭的 Go Web 服务器


在这篇博文里博主展示了如何创建一个可以优雅关闭的 Go HTTP Web 服务器。通过这个方法可以让服务器在它真正关闭之前清理某些资源,( 例如 ) 想象下完成数据库事务或者一些其他长时间的操作。文中将会用到在博主关于并发的博文 (https://marcofranssen.nl/concurrency-in-go/) 学习到的东西。所以,期待看到 channel 和  Goroutine 作为解决方法的一部分吧。

原文链接


No.2

深度解密Go语言之scheduler


本文聚焦于 goroutine,以及调度 goroutine 的 go scheduler。

原文链接


No.3

如何测试你的 Go 代码


我们选择开源项目,通常会比较关注这个项目的测试用例编写的是否完善,一个优秀项目的测试一般写的不会差。为了日后自己能写出一个好的项目,测试这块还是要好好学习下。

常接触的测试主要是单元测试和性能测试。毫无意外,go 的 testing 也支持这两种测试。单元测试用于模块测试,而性能则是由基准测试完成,即 benchmark。

Go 测试模块除了上面提到的功能,还有一项能力,支持编写案例,通过与 godoc 的结合,可以非常快捷地生成库文档。

原文链接


No.4

Go调用浏览访问url链接


开发程序的时候,需要打开浏览器,省去用户自己手动打开的麻烦,在golang中有方式可以直接代开,

start, xdg-open 分别是windows和mac, linux打开系统默认程序的工具,
所以你要使用谷歌打开就必须要把谷歌浏览器设置为默认,
linux下不要使用root权限使用xdg-open,windows下失败可以尝试在管理员权限下的cmd执行你的程序,

windows 执行命令 cmd /C start htttp://tech.mojotv.cn

linux/freebsd/openbsd/netbsd 执行命令 xdg-open http://tech.mojotv.cn

mac 执行命令 start http://tech.mojotv.cn

原文链接


No.5

Go:Context 和传播取消


context 包在 Go 1.7 中引入,它为我们提供了一种在应用程序中处理 context 的方法。这些 context 可以为取消任务或定义超时提供帮助。通过 context 传播请求的值也很有用,但对于本文,我们将重点关注 context 的取消功能。

原文链接



重磅活动预告


Gopher Meetup 武汉站即将开启。来自斗鱼小米极验前青云的大咖讲师带来 Go 开发领域的一线实践经验分享,尽在9月21日,光谷软件园F3栋12楼鱼秀学堂!

报名请戳:阅读原文

Go中国

扫二维码关注

国内最大的 Go 开发者社区