看來大家對 append、slice 掌握還不到位
這里記錄每周值得分享的 Go 語言相關內容,周日發(fā)布。本周刊開源(GitHub:polaris1119/golangweekly[1]),歡迎投稿,推薦或自薦文章/軟件/資源等,請提交 issue[2] 。
鑒于一些人可能沒法堅持把英文文章看完,因此,周刊中會盡可能推薦優(yōu)質的中文文章。優(yōu)秀的英文文章,我們的 GCTT 組織會進行翻譯。
由于微信公眾號不支持外鏈,文中大量鏈接可通過文末「閱讀原文」查看。

題圖:Go 在 GitHub 上超過了 100000 顆星星,值得慶祝這一里程碑!
刊首語
上期的題目,真的慘不忍睹!
以下代碼輸出什么?
package main
import (
"fmt"
)
func main() {
var nums1 []interface{}
nums2 := []int{1, 3, 4}
nums3 := append(nums1, nums2...)
fmt.Println(len(nums3))
}
A:3;B:1;C:4;D:編譯失敗
正確答案是 D,編譯失敗,只有 15% 的人做對了。看到錯誤信息應該知曉為什么了:
cannot use nums2 (variable of type []int) as type []interface{} in argument to append
看下本期的題目。以下代碼輸出什么?
package main
import (
"fmt"
)
func main() {
m := [...]int{
'a': 1,
'b': 2,
'c': 3,
}
m['a'] = 3
fmt.Println(len(m))
}
資訊
1、Go1.19 Beta1 發(fā)布[3]
這是基本完成了的 Release Notes。
2、fyne 2.2.0 發(fā)布[4]
基于 Material Design 的 Go 跨平臺 GUI。
3、HugoConf 大會[5]
會議在 7 月 8、9 兩天進行,在線免費會議。
4、ddosify 0.8 發(fā)布[6]
Go 實現的高性能壓測工具。
5、SFTPGo 2.3.0 發(fā)布[7]
Go 實現的功能齊全的 SFTP 服務器。
6、regexp 性能提升[8]
在 Go1.19 中體現。
文章
分享一些預定義的按鍵映射供您選擇,并介紹幾個必備快捷鍵用法。只需要記住這 5 個基本的快捷鍵操作,就能有事半功倍的效果。
2、PHP 跌出前 10,Go 機會來了?6 月 TIOBE 榜單
TIOBE 出爐了 2022 年 6 月份的編程語言趨勢榜單。
3、使用BPF, 將Go網絡程序的吞吐提升8倍[9]
經典的bpf(classical Berkeley Packet Filter) 是非常好用的一個技術,在一些特殊的Go底層網絡編程的場合,可以很好的提高性能。
Go 不斷提升。
Go 最近真的起飛了。越來越多的公司采用它,開發(fā)人員也普遍接受它,因為它易于學習,功能強大。
開源項目
1、mo[10]
一個為函數式編程愛好者準備的,基于泛型構建。
2、garr[11]
高性能、線程安全、無鎖的 Go 數據結構。
3、SyMon[12]
簡單的系統(tǒng)監(jiān)控和報警系統(tǒng)。
4、gofound[13]
go語言全文檢索引擎,毫秒級查詢。
資源&&工具
1、benthos[14]
流處理。
2、gta[15]
通過傳遞分析快速找到依賴關系發(fā)生變化的包。
3、durationlint[16]
專門針對 time.Duration 的 lint。
4、rain[17]
一個 BitTorrent 客戶端。
5、Kratos[18]
云原生身份和用戶管理系統(tǒng)
訂閱
這個周刊每周日發(fā)布,同步更新在Go語言中文網[19]和微信公眾號[20]。
微信搜索"Go語言中文網"或者掃描二維碼,即可訂閱。
參考資料
polaris1119/golangweekly: https://github.com/polaris1119/golangweekly
[2]提交 issue: https://github.com/polaris1119/golangweekly/issues
[3]Go1.19 Beta1 發(fā)布: https://tip.golang.org/doc/go1.19
[4]fyne 2.2.0 發(fā)布: https://github.com/fyne-io/fyne
[5]HugoConf 大會: https://hugoconf.io/
[6]ddosify 0.8 發(fā)布: https://github.com/ddosify/ddosify
[7]SFTPGo 2.3.0 發(fā)布: https://github.com/drakkan/sftpgo
[8]regexp 性能提升: https://github.com/golang/go/commit/0293c51bc5d8ca0728913c4b7f9f92339f8fd9a6
[9]使用BPF, 將Go網絡程序的吞吐提升8倍: https://colobu.com/2022/06/05/use-bpf-to-make-the-go-network-program-8x-faster/
[10]mo: https://github.com/samber/mo
[11]garr: https://github.com/line/garr
[12]SyMon: https://github.com/dhamith93/SyMon
[13]gofound: https://github.com/newpanjing/gofound
[14]benthos: https://github.com/benthosdev/benthos
[15]gta: https://github.com/digitalocean/gta
[16]durationlint: https://github.com/vigliag/durationlint
[17]rain: https://github.com/cenkalti/rain
[18]Kratos: https://github.com/ory/kratos
[19]Go語言中文網: https://studygolang.com/go/weekly
[20]微信公眾號: https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91
