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

題圖:來自 https://segment.com/blog/changing-one-character-improved-app-performance/
刊首語
本期的題目,你能做對(duì)嗎?以下代碼輸出什么?
package?main
import?"fmt"
func?main()?{
?ints?:=?make([]int,?1)
?ints?=?append(ints,?2)
?fmt.Println(ints[0])
}
A:0;B:2;C:運(yùn)行錯(cuò)誤
資訊
這是兩個(gè)小版本更新,主要更新 Linux 系統(tǒng)的一個(gè)安全問題。
2、GoLand 2022.1.1 發(fā)布[3]
包括?go.work?的語法高亮和跳轉(zhuǎn),以及泛型相關(guān)的檢查。
3、rosedb 1.0 發(fā)布[4]
高性能的 NoSQL 數(shù)據(jù)庫。
4、Fx 24.0 發(fā)布[5]
終端 JSON 查看器。
5、FerretDB 0.2 發(fā)布[6]
MongoDB 的替代品。之前叫 MangoDB,容易被人理解為碰瓷。
6、rqlite 7.4.0 發(fā)布[7]
基于 SQLite 分布式關(guān)系數(shù)據(jù)庫。
7、sh 3.5 發(fā)布[8]
一個(gè)支持 Bash 的 Shell 解析器、格式化器。
技術(shù)迭代的速度越來越快,這一點(diǎn)在每月更新一次的編程語言排行榜榜單中體現(xiàn)得尤為明顯。最新的 TIOBE 5 月編程語言榜單出爐,不妨一起來看一下又有哪些新的趨勢。
文章
1、Go創(chuàng)始人聯(lián)袂重磅發(fā)表文章深度剖析Go的設(shè)計(jì)決策
本文是近期 Go 幾位創(chuàng)始人發(fā)表在 ACM 上的(Russ Cox, Robert Griesemer, Rob Pike, Ian Lance Taylor, Ken Thompson),詳細(xì)剖析了 Go 的一些核心設(shè)計(jì)決策,推薦收藏閱讀!本文是譯文,譯者:崔婧雯。
2、繼 Python 之后,Go 也順利在瀏覽器上運(yùn)行
https://goscript.dev 網(wǎng)站支持在瀏覽器端直接運(yùn)行 Go 代碼,這是一個(gè) Go playground,底層采用 Goscript,通過 WASM 實(shí)現(xiàn)。
3、簡單易懂的 Go 泛型使用和實(shí)現(xiàn)原理介紹
本文是對(duì)泛型的基本思想及其在 Go 中的實(shí)現(xiàn)的一個(gè)比較容易理解的介紹,同時(shí)也是對(duì)圍繞泛型的各種性能討論的簡單總結(jié)。
一般我們會(huì)使用代碼覆蓋率來判斷代碼書寫的質(zhì)量,識(shí)別無效代碼。
當(dāng)你在開發(fā)一個(gè)項(xiàng)目時(shí),通常都會(huì)有一些咱們開發(fā)人員依賴的工具。開發(fā)、測試、構(gòu)建或部署過程中運(yùn)行的工具。
開源項(xiàng)目
1、weron[9]
基于 WebRTC 的 Overlay networks。
2、bud[10]
一個(gè)全棧 Web 框架。
資源&&工具
1、go-concurrency-guide(英文)[11]
Go 并發(fā)實(shí)踐筆記。
2、octosql[12]
OctoSQL 是一個(gè)查詢工具,允許你使用 SQL 連接、分析和轉(zhuǎn)換來自多個(gè)數(shù)據(jù)庫和文件格式的數(shù)據(jù)。
3、Go 播客第 228 期[13]
聊聊 Go 編寫的高性能 PHP 應(yīng)用服務(wù)器。
4、fast-skiplist[14]
快速的、線程安全的跳表實(shí)現(xiàn)。
5、docconv[15]
將 PDF、DOC、DOCX、XML、HTML、RTF 等格式轉(zhuǎn)為文本格式。
訂閱
這個(gè)周刊每周日發(fā)布,同步更新在Go語言中文網(wǎng)[16]和微信公眾號(hào)[17]。
微信搜索"Go語言中文網(wǎng)"或者掃描二維碼,即可訂閱。
參考資料
polaris1119/golangweekly: https://github.com/polaris1119/golangweekly
[2]提交 issue: https://github.com/polaris1119/golangweekly/issues
[3]GoLand 2022.1.1 發(fā)布: https://blog.jetbrains.com/go/2022/05/13/goland-2022-1-1-is-out-with-syntax-highlighting-and-navigation-for-go-work-generics-related-inspections-and-more/
[4]rosedb 1.0 發(fā)布: https://github.com/flower-corp/rosedb
[5]Fx 24.0 發(fā)布: https://github.com/antonmedv/fx
[6]FerretDB 0.2 發(fā)布: https://github.com/FerretDB/FerretDB
[7]rqlite 7.4.0 發(fā)布: https://github.com/rqlite/rqlite
[8]sh 3.5 發(fā)布: https://github.com/mvdan/sh
[9]weron: https://github.com/pojntfx/weron
[10]bud: https://github.com/livebud/bud
[11]go-concurrency-guide(英文): https://github.com/luk4z7/go-concurrency-guide
[12]octosql: https://github.com/cube2222/octosql
[13]Go 播客第 228 期: https://changelog.com/gotime/228
[14]fast-skiplist: https://github.com/sean-public/fast-skiplist
[15]docconv: https://github.com/sajari/docconv
[16]Go語言中文網(wǎng): https://studygolang.com/go/weekly
[17]微信公眾號(hào): https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91
