Go語言愛好者周刊:第 149 期 — 正確率只有 22%
這里記錄每周值得分享的 Go 語言相關(guān)內(nèi)容,周日發(fā)布。本周刊開源(GitHub:polaris1119/golangweekly[1]),歡迎投稿,推薦或自薦文章/軟件/資源等,請提交 issue[2] 。
鑒于一些人可能沒法堅(jiān)持把英文文章看完,因此,周刊中會盡可能推薦優(yōu)質(zhì)的中文文章。優(yōu)秀的英文文章,我們的 GCTT 組織會進(jìn)行翻譯。
由于微信公眾號不支持外鏈,文中大量鏈接可通過文末「閱讀原文」查看。
題圖:父親節(jié)快樂!
刊首語
上期題目的答案解析。以下代碼輸出什么?
package main
import (
"fmt"
)
func main() {
m := [...]int{
'a': 1,
'b': 2,
'c': 3,
}
m['a'] = 3
fmt.Println(len(m))
}
A:3;B:4;C:100;D:編譯失敗
正確答案是 C。這次的正確率也是慘不忍睹,只有 22%。為什么是這個答案,我會專門寫文章講解。
本期的題目。以下代碼輸出什么?
package main
import "fmt"
func main() {
var p [100]int
var m interface{} = [...]int{99: 0}
fmt.Println(p == m)
}
資訊
1、GoLand 2022.2 EAP[3]
自動注入 SQL 語句,支持 WebSocket 和 GraphQL 端點(diǎn)等。
2、chroma 2.2 發(fā)布[4]
純 Go 實(shí)現(xiàn)的通用語法高亮庫。
3、tengo 2.12.0 發(fā)布[5]
Go 腳本語言。
4、Task 3.13.0 發(fā)布[6]
任務(wù)運(yùn)行器,使用 Go 語言編寫。類似 GNU Make,目標(biāo)是比它更簡單和易于使用。
5、歐洲 GopherCon 2022[7]
7 月 28 日 到 31 日。
文章
1、關(guān)于 Go1.18 新函數(shù) TryLock 的故事
分享一篇關(guān)于 1.18 新函數(shù) TryLock 故事的文章。
分享多線程下這三門語言的表現(xiàn)。
3、你所知道的 string 和 []byte 轉(zhuǎn)換方法可能是錯的
網(wǎng)上很多 string 和 []byte 的轉(zhuǎn)換都是有問題的。
4、發(fā)現(xiàn)了國外不加班的秘訣,各種 Go 代碼示例都能在這搜到
一個代碼示例網(wǎng)站。
在分布式、微服務(wù)架構(gòu)下,應(yīng)用一個請求往往貫穿多個分布式服務(wù),這給應(yīng)用的故障排查、性能優(yōu)化帶來新的挑戰(zhàn)。
開源項(xiàng)目
1、validate[8]
Go 通用的數(shù)據(jù)驗(yàn)證與過濾庫,使用簡單,內(nèi)置大部分常用驗(yàn)證、過濾器,支持自定義驗(yàn)證器、自定義消息、字段翻譯。
2、ioc-golang[9]
一款服務(wù)于 Go 開發(fā)者的依賴注入框架,方便搭建任何 Go 應(yīng)用。
3、manioc[10]
基于泛型的依賴注入容器。
4、open-match[11]
開源的游戲匹配框架。
5、slog[12]
Go 實(shí)現(xiàn)的一個易于使用的,易擴(kuò)展、可配置的日志庫。
資源&&工具
1、ptg[13]
性能測試工具,也是一個 GUI gRPC 客戶端?;?Fyne 構(gòu)建。
2、envd[14]
機(jī)器學(xué)習(xí)的開發(fā)環(huán)境。
3、st[15]
st 是一個命令行實(shí)用程序,用于在 Go 代碼中為結(jié)構(gòu)體打 tag。
訂閱
這個周刊每周日發(fā)布,同步更新在Go語言中文網(wǎng)[16]和微信公眾號[17]。
微信搜索"Go語言中文網(wǎng)"或者掃描二維碼,即可訂閱。
參考資料
polaris1119/golangweekly: https://github.com/polaris1119/golangweekly
[2]提交 issue: https://github.com/polaris1119/golangweekly/issues
[3]GoLand 2022.2 EAP: https://blog.jetbrains.com/go/2022/06/17/goland-2022-2-eap-5-is-out-with-automatic-sql-injection-support-for-websockets-and-graphql-endpoints-and-more/
[4]chroma 2.2 發(fā)布: https://github.com/alecthomas/chroma
[5]tengo 2.12.0 發(fā)布: https://github.com/d5/tengo
[6]Task 3.13.0 發(fā)布: https://github.com/go-task/task/releases/tag/v3.13.0
[7]歐洲 GopherCon 2022: https://gophercon.eu/
[8]validate: https://github.com/gookit/validate
[9]ioc-golang: https://github.com/alibaba/ioc-golang
[10]manioc: https://github.com/fuzmish/manioc
[11]open-match: https://github.com/googleforgames/open-match
[12]slog: https://github.com/gookit/slog
[13]ptg: https://github.com/crossoverjie/ptg
[14]envd: https://github.com/tensorchord/envd
[15]st: https://github.com/alistanis/st
[16]Go語言中文網(wǎng): https://studygolang.com/go/weekly
[17]微信公眾號: https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91
