Go语言爱好者周刊:第 169 期 — 正确率 23%
2022-11-27 22:3:25 Author: Go语言中文网(查看原文) 阅读量:15 收藏

这里记录每周值得分享的 Go 语言相关内容,周日发布。本周刊开源(GitHub:polaris1119/golangweekly[1]),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue[2]

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

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

题图:模糊测试

刊首语

上期题目的正确率 23%,一起看看你对了吗?以下代码输出什么?

package main

import "fmt"

func main() {
    a := (-3) % 2
    b := (-3) % (-2)
    fmt.Println(a, b)
}

A:1 1;B:-1 1;C:-1 -1;D:编译错误

正确答案:C。如果你想不明白,可以想想 x / y 的结果:

a := (-3) / 2        // -1
b := (-3) / (-2)     // 1

如果你能想明白这个结果,上面取模的结果也就明白了。

相关的官方文档见:https://go.dev/ref/spec#Integer_operators。

资讯

1、fq 0.1 发布[3]

类似 jq,但用于二进制文件。

2、vhs 0.2 发布[4]

将 CLI 活动记录到 GIF。

3、GoReleaser 1.13 发布[5]

尽可能快速、轻松地交付 Go 二进制文件。

4、bitset 1.4 发布[6]

bitset 的 Go 实现。

5、kubo 0.17 发布[7]

IPFS 的 Go 实现。

6、清理 map[8]

Go 1.21 版本可能会增加 clear 预定义函数,用于清理 map。实际上,Go 1.20 可能就会有该功能:https://github.com/golang/go/issues/56351。

文章

1、轻松上手!手把手带你掌握从Context到go设计理念

context包比较小,是阅读源码比较理想的一个入手,并且里面也涵盖了许多 Go 设计理念可以学习。

2、没用过吧?!使用反射操作channel

这里整理使用reflect操作channel,把它分享给大家。

3、Go每日一库之一个能让http请求回放的工具

在工作中,你一定遇到过要在服务器上抓包的场景,可又苦于找不到合适的工具。今天就给大家推荐一个使用go语言编写的抓包工具goreplay。

4、揭秘Go内存!

在处理内存泄露的时候,想到了一种从内存中查看哪些对象的问题,于是就对实际跑着的程序内存进行了解析,通过可视化的方式有助于理解go的内存布局和管理。

5、Go 源码分析:http代理和https代理

代码:https://github.com/xiazemin/dns_proxy。

6、快收藏!最全Go语言实现设计模式(上)

面向对象设计模式的 Go 实现。

7、HTTP 框架 Hertz 实践入门:性能测试指南

本文旨在分享开发者在压测 Hertz 时需要了解的场景和技术问题。这些建议有助于用户更好地结合真实 HTTP 场景对 Hertz 进行调优,使之更贴合业务需要、发挥最佳性能。

8、Go 实现 SSH 端口转发[9]

英文的。

开源项目

1、lingua-go[10]

Go 最准确的自然语言检测库,适用于长文本和短文本。

2、pipeline[11]

支持并发任务的异步数据 pipeline。

资源&&工具

1、模糊测试可以很简单[12]

Go Team 成员在 GopherCon 2022 大会上的演讲视频。

2、使用 Go 构建一个代码搜索引擎[13]

searchcode.com 可以了解下。

3、finch[14]

用于容器开发的开源工具。

4、gotty[15]

将终端作为 Web 应用程序共享。

订阅

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

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

wechat

参考资料

[1]

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

[2]

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

[3]

fq 0.1 发布: https://github.com/wader/fq

[4]

vhs 0.2 发布: https://github.com/charmbracelet/vhs

[5]

GoReleaser 1.13 发布: https://github.com/goreleaser/goreleaser

[6]

bitset 1.4 发布: https://github.com/bits-and-blooms/bitset

[7]

kubo 0.17 发布: https://github.com/ipfs/kubo

[8]

清理 map: https://utcc.utoronto.ca/~cks/space/blog/programming/GoFutureClearBuiltin

[9]

Go 实现 SSH 端口转发: https://eli.thegreenplace.net/2022/ssh-port-forwarding-with-go/

[10]

lingua-go: https://github.com/pemistahl/lingua-go

[11]

pipeline: https://github.com/caffix/pipeline

[12]

模糊测试可以很简单: https://www.youtube.com/watch?v=7KWPiRq3ZYI

[13]

使用 Go 构建一个代码搜索引擎: https://boyter.org/posts/how-i-built-my-own-index-for-searchcode/

[14]

finch: https://github.com/runfinch/finch

[15]

gotty: https://github.com/yudai/gotty

[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


文章来源: http://mp.weixin.qq.com/s?__biz=MzAxMTA4Njc0OQ==&mid=2651453764&idx=1&sn=1932f3f57388ef6d5c756735c4c58389&chksm=80bb27b6b7ccaea0cf132b05b2391f3a946f306b69f901557a8d06b20b78b6685fb94f5fd5e8#rd
如有侵权请联系:admin#unsafe.sh