Go语言爱好者周刊:第 66 期
这里记录每周值得分享的 Go 语言相关内容,周日发布。
本周刊开源(GitHub:polaris1119/golangweekly),欢迎投稿,推荐或自荐文章/软件/资源等,请提交 issue 。
鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 GCTT 组织会进行翻译。
题图:plenti,又一个 Go 语言实现的静态网站生成器。
刊首语
昨天是 1024,大家没有加班吧!
今天这道题,你看看输出啥?
package main
import "fmt"
type T struct {
x int
}
func (t T) String() string { return "boo" }
func main() {
t := T{123}
fmt.Printf("%v\n", t)
fmt.Printf("%#v\n", t)
}
A:{123} main.T{x:123} B:{123} T{x:123} C:boo boo D:boo main.T
资讯
1、为 Go 尽一份力的时候到了:Go 官方 2020 年开发者调查开启
Go 项目组正在研究人们关于 Go 的经验和想法。您的反馈将帮助他们改进现有工具,并确定新功能的优先级,确保所有 Go 开发人员获得更好的体验。一旦调查结束,他们将与 Go 社区公开分享汇总的结果。
Go 库,用于验证结构,map 和切片。带有各种各样的验证器工厂(它们生成实际的验证),包括相等性,范围,包含在一组值中,长度等。
这个工具你日常工作可能一直在用,只是不知道是它干的。如果要在结构字段中编辑,更新或添加标签,则使工作变得更轻松。与 Vim,Atom,Emacs 和 VS Code 集成。
一个让业务开发效率提高 10 倍的 Go 库。
文章
1、卧槽!一道关于 json 和 slice 的题难倒了 80% 的人
这是上期周刊的问题解答。
官方的弱爆了。。。
拾遗主要是收集和 golang 相关的琐碎知识。
在 Go 中创建的所有 Goroutine 都会被一个内部的调度器所管理。Go 调度器尝试为所有的 Goroutine 分配运行时间,并且在当前的 Goroutine 阻塞或者终止的时候,Go 调度器会通过运行 Goroutine 的方式使所有 CPU 保持忙碌状态。这个调度器实际上是作为一个特殊的 Goroutine 运行的。
5、分析字节跳动高级 Go 工程师的要求,知晓自己的努力方向
来自一个 Go 招聘的公公众号。专门分享 Go 求职招聘等。
在本教程中,我们将就 Golang 和 Rust 进行比较和对比,评估这两种编程语言的性能,并发性,内存管理和整体开发人员体验。我们还将概述这些元素,以帮助您一目了然地为项目选择正确的语言。
7、Go 已经开始大爆发了 ?专注于 Go 职场、招聘和求职
Go 圈的朋友应该能发现,这两年 Go 受到越来越多的关注。我们不提跟国外,只看国内。去年年底,鹅厂公布了他们使用的 Top 语言,其中 Go 排在了第三位。据内部人士透露,今年有望进入第二。大厂大量使用 Go,这是一个很好信号。
8、面试官:知道 MVCC 吗? 在 etcd 中的如何实现的
在数据库领域,面对高并发环境下数据冲突的问题,业界常用的解决方案有两种:避免冲突和允许冲突。
Go 语言中的 select 语句用于监控并选择一组 case 语句执行相应的代码。
time.Sleep 内部代码实现大有文章,每个 Go 版本的 timer 的实现都有所不同,本文基于 Go1.14,分别从宏观和围观介绍一遍主要调度过程。
开源项目
1、hc
一个轻量级的框架,用于在 Go 中开发 HomeKit 配件。HomeKit 是 Apple 的框架,用于管理 Apple 设备中的“智能家居”设备,您可以使用 HomeKit 附件协议(HAP)来为您选择的硬件创建 HomeKit 桥。
2、systray
一个跨平台的 Go 库,用于在通知区域中放置图标和菜单。
3、Crowdsec
开源的轻量级代理,可检测并响应不良行为。它还会自动受益于我们全球社区范围内的 IP 信誉数据库。
4、scany
Go 实现的用于将数据从数据库扫描到 Go 结构的库。
5、gobot
使用 Go 编程语言的 IOT 框架。
6、gweb
用纯 Go 编写并编译成 WASM 的浏览器游戏库。
7、bluge
Go 实现的文本索引库。
8、bot2048
2048游戏机器人玩家。Go 语言实现。对算法感兴趣的可以看该文:https://thomas-joly.com/bot-2048-create-an-artificial-player/。
资源&&工具
1、verless
一个简单、轻量级静态网站生成器。轮子有点多。这里还有一个 plenti,这个感觉比 verless 更正规?
2、Chronos
用于 Go 语言的静态竞争检测器。作者建议和 go race 结合使用。
3、 gof
GoF 23 种设计模式的 Go 实现。
yahoo 开源的云原生分布式流网络遥测工具。
5、cassler
SSL 证书验证工具 cassler。
6、repull
使用较新版本的镜像重新启动 Docker 容器的工具。
基于终端的简单 3D 迷宫爬行游戏。
8、dnsping
检查 DNS 服务器的数据包丢失和延迟问题。
9、goshs
Go 语言编写,替代 Python 的 SimpleHTTPServer,具有许多功能和出色的设计。
10、pixlet
为基于像素的显示器构建应用程序。
订阅
微信搜索"Go语言中文网"或者扫描二维码,即可订阅。