Go語言愛好者週刊:第 144 期 — 一道切片的題目

語言: CN / TW / HK

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

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

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

題圖:來自 https://segment.com/blog/changing-one-character-improved-app-performance/

刊首語

本期的題目,你能做對嗎?以下程式碼輸出什麼?

package main

import "fmt"

func main() {
 ints := make([]int, 1)
 ints = append(ints, 2)
 fmt.Println(ints[0])
}

A:0;B:2;C:執行錯誤

資訊

1、 Go1.18.2 和 Go1.17.10 釋出

這是兩個小版本更新,主要更新 Linux 系統的一個安全問題。

2、 GoLand 2022.1.1 釋出 [3]

包括 go.work 的語法高亮和跳轉,已經泛型相關的檢查。

3、 rosedb 1.0 釋出 [4]

高效能的 NoSQL 資料庫。

4、 Fx 24.0 釋出 [5]

終端 JSON 檢視器。

5、 FerretDB 0.2 釋出 [6]

MongoDB 的替代品。之前叫 MangoDB,容易被人理解為碰瓷。

6、 rqlite 7.4.0 釋出 [7]

基於 SQLite 分散式關係資料庫。

7、 sh 3.5 釋出 [8]

一個支援 Bash 的 Shell 解析器、格式化器。

8、 TIOBE 5 月程式語言排行榜:Go 排第幾了?

技術迭代的速度越來越快,這一點在每月更新一次的程式語言排行榜榜單中體現得尤為明顯。最新的 TIOBE 5 月程式語言榜單出爐,不妨一起來看一下又有哪些新的趨勢。

文章

1、 Go創始人聯袂重磅發表文章深度剖析Go的設計決策

本文是近期 Go 幾位創始人發表在 ACM 上的(Russ Cox, Robert Griesemer, Rob Pike, Ian Lance Taylor, Ken Thompson),詳細剖析了 Go 的一些核心設計決策,推薦收藏閱讀!本文是譯文,譯者:崔婧雯。

2、 繼 Python 之後,Go 也順利在瀏覽器上執行

https://goscript.dev 網站支援在瀏覽器端直接執行 Go 程式碼,這是一個 Go playground,底層採用 Goscript,通過 WASM 實現。

3、 簡單易懂的 Go 泛型使用和實現原理介紹

本文是對泛型的基本思想及其在 Go 中的實現的一個比較容易理解的介紹,同時也是對圍繞泛型的各種效能討論的簡單總結。

4、 深入Go程式碼覆蓋率使用、場景與原理

一般我們會使用程式碼覆蓋率來判斷程式碼書寫的質量,識別無效程式碼。

5、 使用 go run 來管理工具依賴

當你在開發一個專案時,通常都會有一些咱們開發人員依賴的工具。開發、測試、構建或部署過程中執行的工具。

開源專案

1、 weron [9]

基於 WebRTC 的 Overlay networks。

2、 bud [10]

一個全棧 Web 框架。

資源&&工具

1、 go-concurrency-guide(英文) [11]

Go 併發實踐筆記。

2、 octosql [12]

OctoSQL 是一個查詢工具,允許你使用 SQL 連線、分析和轉換來自多個數據庫和檔案格式的資料。

3、 Go 播客第 228 期 [13]

聊聊 Go 編寫的高效能 PHP 應用伺服器。

4、 fast-skiplist [14]

快速的、執行緒安全的跳錶實現。

5、 docconv [15]

將 PDF、DOC、DOCX、XML、HTML、RTF 等格式轉為文字格式。

訂閱

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

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

參考資料

[1]

polaris1119/golangweekly: https://github.com/polaris1119/golangweekly

[2]

提交 issue: https://github.com/polaris1119/golangweekly/issues

[3]

GoLand 2022.1.1 釋出: 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 釋出: https://github.com/flower-corp/rosedb

[5]

Fx 24.0 釋出: https://github.com/antonmedv/fx

[6]

FerretDB 0.2 釋出: https://github.com/FerretDB/FerretDB

[7]

rqlite 7.4.0 釋出: https://github.com/rqlite/rqlite

[8]

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