Go語(yǔ)言愛(ài)好者周刊:第 82 期 — 情人節(jié)快樂(lè)
這里記錄每周值得分享的 Go 語(yǔ)言相關(guān)內(nèi)容,周日發(fā)布。
本周刊開(kāi)源(GitHub:polaris1119/golangweekly[1]),歡迎投稿,推薦或自薦文章/軟件/資源等,請(qǐng)提交 issue[2] 。
鑒于一些人可能沒(méi)法堅(jiān)持把英文文章看完,因此,周刊中會(huì)盡可能推薦優(yōu)質(zhì)的中文文章。優(yōu)秀的英文文章,我們的 GCTT 組織會(huì)進(jìn)行翻譯。

題圖:新春快樂(lè)
刊首語(yǔ)
新年,不出題目了。了解了解 Go 相關(guān)資訊即可。新年快樂(lè)!今天還是情人節(jié),祝天下有情人終成眷屬!
Go 牛年晚會(huì)感覺(jué)還是挺不錯(cuò)的,感謝大家支持!
白天陪娃,只能半夜來(lái)整理周刊!感謝大家多多支持!
誰(shuí)在招 Gopher
整理近期的 Go 職位。有招聘需求可以到「Go招聘」發(fā)布!
資訊
目前應(yīng)該會(huì)按原計(jì)劃發(fā)布。對(duì),2021 年底發(fā)布 Beta 版!
2、GoLand 2021.1 EAP build #2 發(fā)布[3]
支持 Go 1.16 的 go:embed。
3、rqlite 5.10.0 發(fā)布[4]
rqlite 是用 Go 語(yǔ)言編寫的輕量級(jí)分布式關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),使用 SQLite 作為其存儲(chǔ)引擎。5.10.0 非常注重減少磁盤使用量。

4、v8go 0.5 發(fā)布[5]
Go 中支持 JavaScript。
5、Wasmer Go 1.0[6]
Go 語(yǔ)言 WebAssembly Runtime。
6、Solr-Go 0.2 發(fā)布[7]
Solr 的 Go 客戶端。
7、Fiber 2.5.0 發(fā)布[8]
受 Express.js 啟發(fā)的 Web 框架。
8、Resty 2.5 發(fā)布[9]
Go 的簡(jiǎn)單 HTTP 和 REST 客戶端庫(kù)。
9、bitbar[10]
Mat Ryer 重啟 bitbar 開(kāi)發(fā),這次用 Go。
10、Go GC Pacer 重設(shè)計(jì)的草案[11]
英文的。
文章
幾本不錯(cuò)的書。
2、圖解 Go Select 語(yǔ)句的執(zhí)行順序
select 允許在一個(gè) goroutine 中管理多個(gè) channel。但是,當(dāng)所有 channel 同時(shí)就緒的時(shí)候,go 需要在其中選擇一個(gè)執(zhí)行。此外,go 還需要處理沒(méi)有 channel 就緒的情況,我們先從就緒的 channel 開(kāi)始。
符號(hào)表是由編譯器生成和維護(hù)的,保存了與程序相關(guān)的信息,如函數(shù)和全局變量。理解符號(hào)表能幫助我們更好地與之交互和利用它。
按照部分重疊的接口提議,Go 1.14 現(xiàn)在允許嵌入有部分方法重疊的接口。本文是一篇解釋這次修改的簡(jiǎn)要說(shuō)明。
5、為 Go 打造一個(gè)原生 GUI 程序是一種什么體驗(yàn)?
本文是 macdriver 作者寫的,這是一個(gè) Go 語(yǔ)言的 Objective-C 橋接器,使得 Go 可以使用 Mac API。如果做過(guò) Apple 相關(guān)應(yīng)用開(kāi)發(fā),可以試試這個(gè)。
sync.WaitGroup 是 Golang 中常用的并發(fā)措施,我們可以用它來(lái)等待一批 Goroutine 結(jié)束。
7、官方文檔:管理 go module 依賴[12]
自己解決訪問(wèn)問(wèn)題。
開(kāi)源項(xiàng)目
1、agogo[13]
AlphaGo 的 Go 實(shí)現(xiàn)。
2、go-libp2p[14]
libp2p 的 Go 實(shí)現(xiàn)。
3、copyist[15]
在 Go 測(cè)試中模擬 SQL 數(shù)據(jù)庫(kù)的方法。
4、kube-batch[16]
Kubernetes 批處理任務(wù)調(diào)度器。
5、magma[17]
一個(gè)開(kāi)源軟件平臺(tái),可為網(wǎng)絡(luò)運(yùn)營(yíng)商提供開(kāi)放,靈活和可擴(kuò)展的移動(dòng)核心網(wǎng)絡(luò)解決方案。
6、notify[18]
一個(gè)簡(jiǎn)單、用于將通知發(fā)送到各種消息服務(wù)(支持 mail,slack,microsoft team 等)的 Go 庫(kù)。
7、go-json[19]
高性能且兼容 encoding/json 的 json 編解碼庫(kù)。
8、hdfs[20]
Go 實(shí)現(xiàn)的 HDFS 客戶端。
9、dither[21]
Go 圖像抖動(dòng)算法庫(kù)。
資源&&工具
1、chk[22]
用于檢查各種協(xié)議下從本地計(jì)算機(jī)到遠(yuǎn)程目標(biāo)的連接的小工具。
2、auxpi[23]
集合多家 API 的新一代圖床。

3、git-chglog[24]
Go 實(shí)現(xiàn)的 changelog 生成器。
4、Osiris-pwm[25]
一個(gè)基于 Fyne GUI 的輕量級(jí)密碼管理工具。
5、faker[26]
零依賴的終極 fake 數(shù)據(jù)生成器,Go 實(shí)現(xiàn)。
6、tcpdog[27]
基于 eBPF 的 TCP 觀察工具。
7、logit[28]
將 json 格式的 log 聚合存儲(chǔ)。
8、WirePenguin[29]
Go實(shí)現(xiàn)的網(wǎng)絡(luò)包嗅探工具。
9、gin-annotation[30]
用于實(shí)現(xiàn) gin annotation 的命令行工具。
10、go-resume[31]
簡(jiǎn)歷創(chuàng)建工具。
11、gomodest-template[32]
使用 Go,html 和 javascript 快速構(gòu)建動(dòng)態(tài) Web 應(yīng)用程序的模板。
訂閱
這個(gè)周刊每周日發(fā)布,同步更新在Go語(yǔ)言中文網(wǎng)[33]和微信公眾號(hào)[34]。
微信搜索"Go語(yǔ)言中文網(wǎng)"或者掃描二維碼,即可訂閱。
參考資料
polaris1119/golangweekly: https://github.com/polaris1119/golangweekly
[2]提交 issue: https://github.com/polaris1119/golangweekly/issues
[3]GoLand 2021.1 EAP build #2 發(fā)布: https://blog.jetbrains.com/2021/02/05/goland-2021-1-eap-2/
[4]rqlite 5.10.0 發(fā)布: https://www.philipotoole.com/rqlite-5-10-0-released-comparing-its-disk-usage-to-5-6-0/
[5]v8go 0.5 發(fā)布: https://github.com/rogchap/v8go/releases/tag/v0.5.0
[6]Wasmer Go 1.0: https://github.com/wasmerio/wasmer-go
[7]Solr-Go 0.2 發(fā)布: https://sf9v.github.io/posts/solr-go-0.2-released/
[8]Fiber 2.5.0 發(fā)布: https://github.com/gofiber/fiber
[9]Resty 2.5 發(fā)布: https://github.com/go-resty/resty
[10]bitbar: https://github.com/matryer/bitbar/issues/607
[11]Go GC Pacer 重設(shè)計(jì)的草案: https://github.com/golang/go/issues/44167
[12]官方文檔:管理 go module 依賴: https://tip.golang.org/doc/modules/managing-dependencies
[13]agogo: https://github.com/gorgonia/agogo
[14]go-libp2p: https://github.com/libp2p/go-libp2p
[15]copyist: https://github.com/cockroachdb/copyist
[16]kube-batch: https://github.com/kubernetes-sigs/kube-batch
[17]magma: https://github.com/magma/magma
[18]notify: https://github.com/nikoksr/notify
[19]go-json: https://github.com/goccy/go-json
[20]hdfs: https://github.com/colinmarc/hdfs
[21]dither: https://github.com/makeworld-the-better-one/dither
[22]chk: https://github.com/Ripolak/chk
[23]auxpi: https://github.com/0xDkd/auxpi
[24]git-chglog: https://github.com/git-chglog/git-chglog
[25]Osiris-pwm: https://github.com/Gyro7/Osiris-pwm
[26]faker: https://github.com/jaswdr/faker
[27]tcpdog: https://github.com/mehrdadrad/tcpdog
[28]logit: https://github.com/life4/logit
[29]WirePenguin: https://github.com/pwdz/WirePenguin
[30]gin-annotation: https://github.com/1-st/gin-annotation
[31]go-resume: https://github.com/penguingovernor/go-resume
[32]gomodest-template: https://github.com/adnaan/gomodest-template
[33]Go語(yǔ)言中文網(wǎng): https://studygolang.com/go/weekly
[34]微信公眾號(hào): https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91
