这里记录每周值得分享的 Go 语言相关内容,周日发布。本周刊开源(GitHub:polaris1119/golangweekly[1]),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue[2] 。
鉴于一些人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
由于微信公众号不支持外链,文中大量链接可通过文末「阅读原文」查看。
题图:Gopher 图片集 https://github.com/MariaLetta/free-gophers-pack
刊首语
本期是一道关于 math 包的 Inf 的题目。以下代码输出什么?
package main
import (
"fmt"
"math"
)
func main() {
// Inf returns positive infinity if sign >= 0, negative infinity if sign < 0.
x := math.Inf(1)
switch {
case x < 0, x > 0:
fmt.Println(x)
case x == 0:
fmt.Println("zero")
default:
fmt.Println("something else")
}
}
资讯
1、1.20 将支持 Wrap 多个错误[3]
一起的还有 Unwrap 的支持。
2、HN 热议[4]
你喜欢或不喜欢 Go 什么?
3、listmonk 2.3 发布[5]
具有现代仪表板的高性能,自托管通讯和邮寄列表管理器。Go + Vue 构建。
4、miller 6.5 发布[6]
文本数据处理的瑞士军刀,Go 实现。
5、zap 1.24 发布[7]
Uber 出品的日志库。
6、fibratus 1.8 发布[8]
Windows 内核勘探和追踪的现代工具。
7、FastHTTP 1.43 发布[9]
Go 快速的 HTTP 包。为高性能而调优。 热路径中的零内存分配。 比 net/http 快 10 倍。有兴趣可以研究为什么能做到快这么多。
文章
本文继续列出Go语言实现的经典设计模式示例,每个示例都精心设计,力求符合模式结构,可作为日常编码参考,同时一些常用的设计模式融入了开发实践经验总结,帮助大家在平时工作中灵活运用。
2016 年,AlphaGo 一连战胜多位人类职业围棋选 手,从此一炮而红,各种下棋机器人近几年也层出不穷。那么,你是否想过要自己做一个呢?
如果你想知道什么样的应用程序可以使用 Golang,请按照本文了解 Golang 开发的最佳场景。
对于 pprof
,相信熟悉 Go 语言的程序员基本都不陌生,一般线上的问题都是靠它可以快速定位。但是实际项目中,很多时候我们为了性能都不会开启它,但是出了问题又要靠它来分析。
本文是基于 Go1.18.1源码的学习笔记。
6、GoLand 迎来五周年,同时发布 2022.3:有彩蛋
GoLand 2022.3 是 2022 系列的最后一个版本,提供了性能增强以及针对泛型和 Go 工作区的新功能。
开源项目
1、ecoji[10]
将数据编码(和解码)为表情符号。
2、casnode[11]
Go 和 React 驱动的论坛系统。
资源&&工具
1、otto[12]
一个 JavaScript 解释器。
2、skeema[13]
MySQL/MariaDB 的声明式纯 SQL 模式管理。
3、semver[14]
分析、排序和检查语义版本号。
4、free-gophers-pack[15]
Gopher 图片合集。
订阅
这个周刊每周日发布,同步更新在Go语言中文网[16]和微信公众号[17]。
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。
参考资料
polaris1119/golangweekly: https://github.com/polaris1119/golangweekly
[2]提交 issue: https://github.com/polaris1119/golangweekly/issues
[3]1.20 将支持 Wrap 多个错误: https://github.com/golang/go/issues/53435
[4]HN 热议: https://news.ycombinator.com/item?id=33757306
[5]listmonk 2.3 发布: https://github.com/knadh/listmonk
[6]miller 6.5 发布: https://github.com/johnkerl/miller
[7]zap 1.24 发布: https://github.com/uber-go/zap
[8]fibratus 1.8 发布: https://github.com/rabbitstack/fibratus
[9]FastHTTP 1.43 发布: https://github.com/valyala/fasthttp
[10]ecoji: https://github.com/keith-turner/ecoji
[11]casnode: https://github.com/casbin/casnode
[12]otto: https://github.com/robertkrimen/otto
[13]skeema: https://github.com/skeema/skeema
[14]semver: https://github.com/Masterminds/semver
[15]free-gophers-pack: https://github.com/MariaLetta/free-gophers-pack
[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
文章评论