Go语言爱好者周刊:第 114 期

Go语言精选

共 3107字,需浏览 7分钟

 ·

2021-09-27 10:55

这里记录每周值得分享的 Go 语言相关内容,周日发布。

本周刊开源(GitHub:polaris1119/golangweekly[1]),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue[2]

鉴于一些人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。

由于微信公众号不支持外链,文中大量链接可通过文末「阅读原文」查看。

题图:火焰图

刊首语

以下代码输出什么?

package main

import "fmt"

func main() {

 slice := []int{0123}
 m := make(map[int]*int)

 for key, val := range slice {
  m[key] = &val
 }

 fmt.Println(*m[2])
}

资讯

1、Go1.18 将原生支持 fuzzing[3]

相关代码已经合入 master。

2、tinygo 0.20.0 发布[4]

增加对 Go1.17 的支持。

3、Echo 4.6 发布[5]

增加了新的 request logger middleware[6]

4、Bleve 2.2.0 发布[7]

Go 实现的全文本搜索和索引库。

5、rqlite 6.6.0 发布[8]

基于 SQLite 的轻量级分布式关系数据库。

6、标准库 API 如何更好的支持泛型?[9]

官方发起的讨论。

文章

1、Go Fiber 框架系列教程 01: 和 Express 对比学习

Fiber 框架起步晚,但受关注度增长迅速。

2、国外Go社区吵起来了

go-kit 作者被禁言。

3、真能折腾:Rust实现一个Go脚本语言

在 GitHub 发现一个项目:goscript,这个项目挺有意思。

4、Go每日一库之 Cobra:著名的命令行库

使用很多的一个库。

5、推荐一个 Go GUI 实战项目

fyne 现在关注度挺高的,不过界面感觉有点丑。

6、Go 微服务框架对比:Go Micro, Go Kit, Gizmo, Kite

你喜欢哪个框架?

7、Golang vs Python:选哪个?

好吧,两者都要~

8、Go实战:Vue.js + Golang 组合打造应用

这个组合挺好。

9、图解 Go 常量

Go 的类型常量和非类型常量是两个必须要了解的关键概念。

10、Docker 参考架构:设计可扩展、可移植的 Docker 容器网络

本文给出一些兼顾应用的需求与物理网络条件约束的 Docker 网络设计方法。

11、思考服务雪崩 case

有哪些情况呢?

12、聊一聊Go中面向包的设计

国外培训的一个教程。

开源项目

1、gobreaker[10]

索尼出品的 Circuit Breaker。

2、btree[11]

Go 的 B 树实现。

3、nice[12]

高度可定制和轻量级的 Go CLI 应用框架。

4、lumber[13]

一个简单、优雅、特性丰富的日志库。

5、emitter[14]

高性能、分布式、低延迟的发布订阅平台。

资源&&工具

1、go-test-trace[15]

有跟踪功能的 go test。

2、ffmpeg-to-webrtc[16]

ffmpeg-to-webrtc 演示了如何使用 Go 实现的 pion 将视频从 ffmpeg 发送到您的浏览器。

3、garble[17]

混淆 Go 构建。

4、pprofutils[18]

用于 pprof 文件的“瑞士军刀”。

5、Go 播客第 198 期[19]

Go 工具链团队访谈。

订阅

这个周刊每周日发布,同步更新在Go语言中文网[20]微信公众号[21]

微信搜索"Go语言中文网"或者扫描二维码,即可订阅。

wechat

参考资料

[1]

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

[2]

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

[3]

Go1.18 将原生支持 fuzzing: https://github.com/golang/go/commit/6e81f78c0f1653ea140e6c8d008700ddad1fa0a5

[4]

tinygo 0.20.0 发布: https://github.com/tinygo-org/tinygo/releases/tag/v0.20.0

[5]

Echo 4.6 发布: https://github.com/labstack/echo

[6]

request logger middleware: https://github.com/labstack/echo/blob/master/middleware/request_logger.go

[7]

Bleve 2.2.0 发布: https://github.com/blevesearch/bleve

[8]

rqlite 6.6.0 发布: https://github.com/rqlite/rqlite

[9]

标准库 API 如何更好的支持泛型?: https://github.com/golang/go/discussions/48287

[10]

gobreaker: https://github.com/sony/gobreaker

[11]

btree: https://github.com/amit-davidson/btree

[12]

nice: https://github.com/SuperPaintman/nice

[13]

lumber: https://github.com/gleich/lumber

[14]

emitter: https://github.com/emitter-io/emitter

[15]

go-test-trace: https://github.com/rakyll/go-test-trace

[16]

ffmpeg-to-webrtc: https://github.com/ashellunts/ffmpeg-to-webrtc

[17]

garble: https://github.com/burrowers/garble

[18]

pprofutils: https://github.com/felixge/pprofutils

[19]

Go 播客第 198 期: https://changelog.com/gotime/198

[20]

Go语言中文网: https://studygolang.com/go/weekly

[21]

微信公众号: https://weixin.sogou.com/weixin?query=Go%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91


浏览 48
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报