Go語(yǔ)言愛好者周刊:第 143 期
這里記錄每周值得分享的 Go 語(yǔ)言相關(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)不支持外鏈,文中大量鏈接可通過文末「閱讀原文」查看。
刊首語(yǔ)
本期的題目,你能做對(duì)嗎?以下代碼輸出什么?
package?main
import?"fmt"
func?main()?{
?var?a?=?0.0
?const?b?=?0.0
?fmt.Println(a?/?b)
}
資訊
1、Go GUI 開發(fā)者調(diào)查結(jié)果[3]
Fynelabs 出品。
2、tinygo 0.23.0 發(fā)布[4]
支持 Go1.18。
3、go-mysql 1.5[5]
純 Go 實(shí)現(xiàn) MySQL 網(wǎng)絡(luò)協(xié)議的庫(kù)。
4、Go 1.19 將支持 typed atomic value[6]
這樣就不需要 Uber 的 https://github.com/uber-go/atomic 了。
文章
和大家分享一下我個(gè)人在開發(fā)過程中看到和使用到的一些常用的代碼寫法。
以下是一些平時(shí)開發(fā)常用的通用函數(shù),趕緊收藏起來,一定可以用得上。
3、GoLand 中提高研發(fā)效率的5個(gè)使用技巧
給大家介紹幾個(gè)開發(fā)工具使用技巧,以提高研發(fā)效率。
本文詳細(xì)跟大家分享一下如何快速開發(fā)一個(gè)有多個(gè)模塊的單體服務(wù)。
5、教妹子學(xué) Go 并發(fā)原語(yǔ):啥是 Semaphore ?
信號(hào)量是并發(fā)編程中常見的同步機(jī)制,在標(biāo)準(zhǔn)庫(kù)的并發(fā)原語(yǔ)中使用頻繁,比如 Mutex、WaitGroup 等,這些并發(fā)原語(yǔ)的實(shí)現(xiàn)都有信號(hào)量的影子,所以我們很有必要學(xué)好弄清楚信號(hào)量的實(shí)現(xiàn)原理。
開源項(xiàng)目
1、generic[7]
各種數(shù)據(jù)結(jié)構(gòu)的 Go 泛型實(shí)現(xiàn)。
2、arcticDB[8]
Go 實(shí)現(xiàn)的用于可觀察性的數(shù)據(jù)庫(kù)。
3、logkit[9]
七牛智能日志管理平臺(tái)開發(fā)的一個(gè)配套的日志收集工具,支持海量的數(shù)據(jù)源,這是社區(qū)版。
資源&&工具
1、使用 Go 生成 x86 匯編[10]
PDF(PPT) 文件下載。
2、NeoAlgo[11]
Go 算法與數(shù)據(jù)結(jié)構(gòu)。
3、LeetCode-in-Go[12]
LeetCode 的 Go 解答。
4、Go 播客第 227 期[13]
解析 Go 靜態(tài)分析。
訂閱
這個(gè)周刊每周日發(fā)布,同步更新在Go語(yǔ)言中文網(wǎng)[14]和微信公眾號(hào)[15]。
微信搜索"Go語(yǔ)言中文網(wǎng)"或者掃描二維碼,即可訂閱。
參考資料
polaris1119/golangweekly: https://github.com/polaris1119/golangweekly
[2]提交 issue: https://github.com/polaris1119/golangweekly/issues
[3]Go GUI 開發(fā)者調(diào)查結(jié)果: https://fynelabs.com/2022/05/03/go-gui-developer-survey-results/
[4]tinygo 0.23.0 發(fā)布: https://github.com/tinygo-org/tinygo/releases/tag/v0.23.0
[5]go-mysql 1.5: https://github.com/go-mysql-org/go-mysql
[6]Go 1.19 將支持 typed atomic value: https://github.com/golang/go/commit/ffe48e00adf3078944015186819a1ed5c6aa8bec
[7]generic: https://github.com/zyedidia/generic
[8]arcticDB: https://github.com/polarsignals/arcticdb
[9]logkit: https://github.com/qiniu/logkit/blob/master/READMECN.md
[10]使用 Go 生成 x86 匯編: https://github.com/WojciechMula/presentations/blob/main/avo-intro/avo-intro.pdf
[11]NeoAlgo: https://github.com/TesseractCoding/NeoAlgo/blob/master/Go/README.md
[12]LeetCode-in-Go: https://github.com/aQuaYi/LeetCode-in-Go
[13]Go 播客第 227 期: https://changelog.com/gotime/227
[14]Go語(yǔ)言中文網(wǎng): https://studygolang.com/go/weekly
[15]微信公眾號(hào): https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91
