Go語言愛好者週刊:第 149 期 — 正確率只有 22%

語言: CN / TW / HK

這裡記錄每週值得分享的 Go 語言相關內容,週日釋出。本週刊開源(GitHub: polaris1119/golangweekly [1] ),歡迎投稿,推薦或自薦文章/軟體/資源等,請 提交 issue [2]

鑑於一些人可能沒法堅持把英文文章看完,因此,週刊中會盡可能推薦優質的中文文章。優秀的英文文章,我們的 GCTT 組織會進行翻譯。

由於微信公眾號不支援外鏈,文中大量連結可通過文末「 閱讀原文 」檢視。

題圖:父親節快樂!

刊首語

上期題目的答案解析。以下程式碼輸出什麼?

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 端點等。

2、 chroma 2.2 釋出 [4]

純 Go 實現的通用語法高亮庫。

3、 tengo 2.12.0 釋出 [5]

Go 指令碼語言。

4、 Task 3.13.0 釋出 [6]

任務執行器,使用 Go 語言編寫。類似 GNU Make,目標是比它更簡單和易於使用。

5、 歐洲 GopherCon 2022 [7]

7 月 28 日 到 31 日。

文章

1、 關於 Go1.18 新函式 TryLock 的故事

分享一篇關於 1.18 新函式 TryLock 故事的文章。

2、 Java、Go 和 Python 的多執行緒效能對比

分享多執行緒下這三門語言的表現。

3、 你所知道的 string 和 []byte 轉換方法可能是錯的

網上很多 string 和 []byte 的轉換都是有問題的。

4、 發現了國外不加班的祕訣,各種 Go 程式碼示例都能在這搜到

一個程式碼示例網站。

5、 Go 分散式鏈路追蹤實現原理

在分散式、微服務架構下,應用一個請求往往貫穿多個分散式服務,這給應用的故障排查、效能優化帶來新的挑戰。

開源專案

1、 validate [8]

Go 通用的資料驗證與過濾庫,使用簡單,內建大部分常用驗證、過濾器,支援自定義驗證器、自定義訊息、欄位翻譯。

2、 ioc-golang [9]

一款服務於 Go 開發者的依賴注入框架,方便搭建任何 Go 應用。

3、 manioc [10]

基於泛型的依賴注入容器。

4、 open-match [11]

開源的遊戲匹配框架。

5、 slog [12]

Go 實現的一個易於使用的,易擴充套件、可配置的日誌庫。

資源&&工具

1、 ptg [13]

效能測試工具,也是一個 GUI gRPC 客戶端。基於 Fyne 構建。

2、 envd [14]

機器學習的開發環境。

3、 st [15]

st 是一個命令列實用程式,用於在 Go 程式碼中為結構體打 tag。

訂閱

這個週刊每週日釋出,同步更新在 Go語言中文網 [16]微信公眾號 [17]

微信搜尋"Go語言中文網"或者掃描二維碼,即可訂閱。

wechat

參考資料

[1]

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 釋出: https://github.com/alecthomas/chroma

[5]

tengo 2.12.0 釋出: https://github.com/d5/tengo

[6]

Task 3.13.0 釋出: 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語言中文網: 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