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

題圖:來自 golangweekly
刊首語
上期的題目比較簡單,關于 slice 的。以下代碼輸出什么?
package?main
import?(
?"fmt"
)
func?main()?{
?a?:=?[5]int{1,?2,?3,?4,?5}
?t?:=?a[3:4:4]
?fmt.Println(t[0])
}
A:1;B:3;C:4;D:編譯錯誤
正確答案是 C:4。a[3:4:4] 得到一個 slice,從原數組的第 4 個元素(索引是 3)開始,因此 t[0] 是 4。需要掌握 reslice 的語法。
資訊
1、Go GUI 開發(fā)者調查[3]
對 GUI 開發(fā)感興趣的可以參與下。由 Fyne 發(fā)起的。
2、gopls v0.8.0 發(fā)布[4]
支持 Go 1.18,包括工作區(qū)、泛型、模糊測試等,不過 Go1.12 及之前就不再支持了。
是安全更新。
4、arenas proposal 的原型實現[5]
最近 arenas 受關注度很高。
5、TiDB 5.4 發(fā)布[6]
以更快的 HTAP、易用性和更低的成本開啟 2022。
文章
1、goutil/dump[7]
打印漂亮易讀的 Go 數據。
在高并發(fā)大流量系統(tǒng)中,由于并發(fā)大造成服務資源不足,負載過高,進而引發(fā)一系列問題。
Go 語言社區(qū)正在討論名為「arena」的新提案。
簡單易用的持續(xù)分析 (Continuous profiling)服務器。
5、聊聊 Go 應用輸出日志的工程實踐[8]
日常學習 Go 語言時,日志不是不可或缺的,甚至是無需考慮的,但是一旦到真正的 Go 的工程實踐中,輸出日志便是我們繞不過去的、必須面對的問題。
6、Go 1.18 泛型的實現原理[9]
英文的。
開源項目
1、juniper[10]
用泛型擴展 Go 標準庫。
2、bun[11]
適用于多個數據庫的流暢 SQL 客戶端。
3、lo[12]
一個基于Go 1.18+ 泛型的 Lodash 風格的 Go 庫(map, filter, contains, find…)。https://lodash.com/ 是 JavaScript 的一個流行庫。
4、bubble-table[13]
基于 Bubble Tea 框架的可定制、交互式表格組件。

5、GoDLP[14]
字節(jié)安全團隊開源自研敏感信息保護方案。
資源&&工具
1、pg_back[15]
簡單的 PostgreSQL 備份工具。
2、Go 播客第 219 期[16]
為什么要用 Go 創(chuàng)建一個不可變數據庫(immudb)。
3、graphql-go-tools[17]
使用 Go 編寫高性能 GraphQL 應用程序的工具。
4、gost[18]
Go 語言實現的安全隧道。
訂閱
這個周刊每周日發(fā)布,同步更新在Go語言中文網[19]和微信公眾號[20]。
微信搜索"Go語言中文網"或者掃描二維碼,即可訂閱。
參考資料
polaris1119/golangweekly: https://github.com/polaris1119/golangweekly
[2]提交 issue: https://github.com/polaris1119/golangweekly/issues
[3]Go GUI 開發(fā)者調查: https://fynelabs.com/2022/03/02/announcing-go-gui-developer-survey/
[4]gopls v0.8.0 發(fā)布: https://github.com/golang/tools/releases/tag/gopls%2Fv0.8.0
[5]arenas proposal 的原型實現: https://go-review.googlesource.com/c/go/+/387975
[6]TiDB 5.4 發(fā)布: https://en.pingcap.com/blog/tidb-5-4-kicking-off-2022-with-faster-htap-ease-of-use-and-lower-cost/
[7]goutil/dump: https://studygolang.com/articles/35472
[8]聊聊 Go 應用輸出日志的工程實踐: https://tonybai.com/2022/03/05/go-logging-practice/
[9]Go 1.18 泛型的實現原理: https://github.com/golang/proposal/blob/master/design/generics-implementation-dictionaries-go1.18.md
[10]juniper: https://github.com/bradenaw/juniper
[11]bun: https://github.com/uptrace/bun
[12]lo: https://github.com/samber/lo
[13]bubble-table: https://github.com/Evertras/bubble-table
[14]GoDLP: https://github.com/bytedance/godlp
[15]pg_back: https://github.com/orgrim/pg_back
[16]Go 播客第 219 期: https://changelog.com/gotime/219
[17]graphql-go-tools: https://github.com/jensneuse/graphql-go-tools
[18]gost: https://github.com/ginuerzh/gost
[19]Go語言中文網: https://studygolang.com/go/weekly
[20]微信公眾號: https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91
