Go語言愛好者周刊:第 114 期
這里記錄每周值得分享的 Go 語言相關(guān)內(nèi)容,周日發(fā)布。
本周刊開源(GitHub:polaris1119/golangweekly[1]),歡迎投稿,推薦或自薦文章/軟件/資源等,請提交 issue[2] 。
鑒于一些人可能沒法堅持把英文文章看完,因此,周刊中會盡可能推薦優(yōu)質(zhì)的中文文章。優(yōu)秀的英文文章,我們的 GCTT 組織會進(jìn)行翻譯。
由于微信公眾號不支持外鏈,文中大量鏈接可通過文末「閱讀原文」查看。

題圖:火焰圖
刊首語
以下代碼輸出什么?
package main
import "fmt"
func main() {
slice := []int{0, 1, 2, 3}
m := make(map[int]*int)
for key, val := range slice {
m[key] = &val
}
fmt.Println(*m[2])
}
資訊
1、Go1.18 將原生支持 fuzzing[3]
相關(guān)代碼已經(jīng)合入 master。
2、tinygo 0.20.0 發(fā)布[4]
增加對 Go1.17 的支持。
3、Echo 4.6 發(fā)布[5]
增加了新的 request logger middleware[6]。
4、Bleve 2.2.0 發(fā)布[7]
Go 實(shí)現(xiàn)的全文本搜索和索引庫。
5、rqlite 6.6.0 發(fā)布[8]
基于 SQLite 的輕量級分布式關(guān)系數(shù)據(jù)庫。
6、標(biāo)準(zhǔn)庫 API 如何更好的支持泛型?[9]
官方發(fā)起的討論。
文章
1、Go Fiber 框架系列教程 01: 和 Express 對比學(xué)習(xí)
Fiber 框架起步晚,但受關(guān)注度增長迅速。
go-kit 作者被禁言。
3、真能折騰:Rust實(shí)現(xiàn)一個Go腳本語言
在 GitHub 發(fā)現(xiàn)一個項目:goscript,這個項目挺有意思。
使用很多的一個庫。
fyne 現(xiàn)在關(guān)注度挺高的,不過界面感覺有點(diǎn)丑。
6、Go 微服務(wù)框架對比:Go Micro, Go Kit, Gizmo, Kite
你喜歡哪個框架?
好吧,兩者都要~
8、Go實(shí)戰(zhàn):Vue.js + Golang 組合打造應(yīng)用
這個組合挺好。
9、圖解 Go 常量
Go 的類型常量和非類型常量是兩個必須要了解的關(guān)鍵概念。
10、Docker 參考架構(gòu):設(shè)計可擴(kuò)展、可移植的 Docker 容器網(wǎng)絡(luò)
本文給出一些兼顧應(yīng)用的需求與物理網(wǎng)絡(luò)條件約束的 Docker 網(wǎng)絡(luò)設(shè)計方法。
有哪些情況呢?
國外培訓(xùn)的一個教程。
開源項目
1、gobreaker[10]
索尼出品的 Circuit Breaker。
2、btree[11]
Go 的 B 樹實(shí)現(xiàn)。
3、nice[12]
高度可定制和輕量級的 Go CLI 應(yīng)用框架。
4、lumber[13]
一個簡單、優(yōu)雅、特性豐富的日志庫。
5、emitter[14]
高性能、分布式、低延遲的發(fā)布訂閱平臺。
資源&&工具
1、go-test-trace[15]
有跟蹤功能的 go test。
2、ffmpeg-to-webrtc[16]
ffmpeg-to-webrtc 演示了如何使用 Go 實(shí)現(xiàn)的 pion 將視頻從 ffmpeg 發(fā)送到您的瀏覽器。
3、garble[17]
混淆 Go 構(gòu)建。
4、pprofutils[18]
用于 pprof 文件的“瑞士軍刀”。
5、Go 播客第 198 期[19]
Go 工具鏈團(tuán)隊訪談。
訂閱
這個周刊每周日發(fā)布,同步更新在Go語言中文網(wǎng)[20]和微信公眾號[21]。
微信搜索"Go語言中文網(wǎng)"或者掃描二維碼,即可訂閱。
參考資料
polaris1119/golangweekly: https://github.com/polaris1119/golangweekly
[2]提交 issue: https://github.com/polaris1119/golangweekly/issues
[3]Go1.18 將原生支持 fuzzing: https://github.com/golang/go/commit/6e81f78c0f1653ea140e6c8d008700ddad1fa0a5
[4]tinygo 0.20.0 發(fā)布: https://github.com/tinygo-org/tinygo/releases/tag/v0.20.0
[5]Echo 4.6 發(fā)布: https://github.com/labstack/echo
[6]request logger middleware: https://github.com/labstack/echo/blob/master/middleware/request_logger.go
[7]Bleve 2.2.0 發(fā)布: https://github.com/blevesearch/bleve
[8]rqlite 6.6.0 發(fā)布: https://github.com/rqlite/rqlite
[9]標(biāo)準(zhǔn)庫 API 如何更好的支持泛型?: https://github.com/golang/go/discussions/48287
[10]gobreaker: https://github.com/sony/gobreaker
[11]btree: https://github.com/amit-davidson/btree
[12]nice: https://github.com/SuperPaintman/nice
[13]lumber: https://github.com/gleich/lumber
[14]emitter: https://github.com/emitter-io/emitter
[15]go-test-trace: https://github.com/rakyll/go-test-trace
[16]ffmpeg-to-webrtc: https://github.com/ashellunts/ffmpeg-to-webrtc
[17]garble: https://github.com/burrowers/garble
[18]pprofutils: https://github.com/felixge/pprofutils
[19]Go 播客第 198 期: https://changelog.com/gotime/198
[20]Go語言中文網(wǎng): https://studygolang.com/go/weekly
[21]微信公眾號: https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91
