Go语言爱好者周刊:第 39 期
这里记录每周值得分享的 Go 语言相关内容,周日发布。
本周刊开源(GitHub:polaris1119/golangweekly),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue 。
鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
题图:今日谷雨,春的尾巴,夏天就要到来了。(图来自网络)
刊首语
优惠购书活动:目前 Go 语言中文书籍都在这,满400减230!总有你需要的,有效期截止 4 月 23 日。不限于文中列出的图书,其他图书也可以。
Playground 先上线了一个新功能:预置了一些常用代码模板。为了方便使用,我搭建了一个完整镜像,同步了官方最新的功能,欢迎试用,地址:https://play.studygolang.com。
资讯
最近更新有点频繁啊!
Go 2D 游戏开发库。Ebiten 是项目中的真正瑰宝之一。
这是一个分布式 NewSQL 数据库。
文章
Go vet 命令在编写代码时非常有用。它可以帮助您检测应用程序中任何可疑、异常或无用的代码。该命令实际上由几个子分析器组成,甚至可以与您的自定义分析器一起工作。让我们首先回顾一下内置的分析器。
你没看错,这里讲的就是 Go 中的泛型。只不过还没有正式发布,是基于草案设计的,已经是实现了可运行的版本。所以,泛型到来真的不远了!
Go 能实现监控模式,归功于 sync 包和 sync.Cond 结构体。监控模式允许 goroutine 在进入睡眠模式前等待一个定特定条件,而不会阻塞执行或消耗资源。
4、Go 的 Channel 很强大,理解其内在概念会让它更强大
Go 中的通道(channel)机制十分强大,但是理解内在的概念甚至可以使它更强大。实际上,选择缓冲通道或无缓冲通道将改变应用程序的行为和性能。
提到爬虫,总会联想到Python。似乎Python是爬虫的唯一选择。爬虫只是完成一个访问页面然后收集数据的任务,用任何语言来写都能实现。相比较Python快速实现但是庞大的体型,Golang来写爬虫似乎是更好的又一选择。
Go 语言自发布以来,一直以高性能、高并发著称。因为标准库提供了 http 包,即使刚学不久的程序员,也能轻松写出 http 服务程序。不过,任何事情都有两面性。一门语言,有它值得骄傲的有点,也必定隐藏了不少坑。新手若不知道这些坑,很容易就会掉进坑里。《 Go 语言踩坑记》系列博文将以 Go 语言中的 panic 与 recover 开头,给大家介绍笔者踩过的各种坑,以及填坑方法。
k3s 是 rancher® 开源的一个 Kubernetes 发行版,从名字上就可以看出 k3s 相对 k8s 做了很多裁剪和优化,二进制程序不足 50MB,占用资源更少,只需要 512MB 内存即可运行。
当涉及到建造Docker containers问题的时候,你应该尽力获得较小的镜像。文件层既共享又小的镜像能够更快的进行传输和部署。
2020 年 4 月份字节跳动后端面试经验。
10、微服务项目讲解
详细介绍微服务。
开源项目
1、broccoli
使用谷歌 Brotli 压缩的,在 Go 中嵌入静态文件。这个需求,Go 官方官方什么时候能支持呢?
想象一下像 tmux 这样的东西,但是更易于学习并且具有合理的默认值。另外,它是用 Go 语言编写的,因此你可以根据需要进行任意调整。
使用 Badger gRPC 和 Google Maps API 构建。跨边界或相对于其他对象跟踪对象的地理位置。
4、gocorona
冠状病毒终端统计信息显示板。
5、gosql
一个 PostgreSQL 的早期实现版本。
6、what
仅给 Go 开发人员使用调试级别 log 包。
7、dbq
号称是 database/sql 包的替代品。
8、edwood
Go 版本 Plan9 Acme 编辑器。
9、golisp
Go Lisp 解析器。
10、testcase
一款 Go TDD 测试框架。
11、earthly
容器化时代的自动化构建工具。
资源&&工具
Erik St. Martin 是 GopherCon组织者、Go In Action 联合作者。
谈 Go 社区组织经验。
数据结构和算法在计算机科学里,有非常重要的地位。此系列文章尝试使用 Golang 编程语言来实现各种数据结构和算法,并且适当进行算法分析。
4、Go Web 开发开源书(英文)
又一本开源的 Go Web 图书。
5、电子书: The BlockChain way of programming
目前只公开了前 6 章。
订阅
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。