Go语言爱好者周刊:第 66 期 — 一道关于 fmt 的题

Go语言精选

共 4100字,需浏览 9分钟

 ·

2020-10-28 12:59

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

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

鉴于大部分人可能没法坚持把英文文章看完,因此,周刊中会尽可能推荐优质的中文文章。优秀的英文文章,我们的 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)
}

资讯

1、为 Go 尽一份力的时候到了:Go 官方 2020 年开发者调查开启

Go 项目组正在研究人们关于 Go 的经验和想法。您的反馈将帮助他们改进现有工具,并确定新功能的优先级,确保所有 Go 开发人员获得更好的体验。一旦调查结束,他们将与 Go 社区公开分享汇总的结果。

2、validating 2.0 发布[3]

Go 库,用于验证结构,map 和切片。带有各种各样的验证器工厂(它们生成实际的验证),包括相等性,范围,包含在一组值中,长度等。

3、gomodifytags 1.11.0 发布[4]

这个工具你日常工作可能一直在用,只是不知道是它干的。如果要在结构字段中编辑,更新或添加标签,则使工作变得更轻松。与 Vim,Atom,Emacs 和 VS Code 集成。

4、collection v1.3.1 升级记录

一个让业务开发效率提高 10 倍的 Go 库。

文章

1、卧槽!一道关于 json 和 slice 的题难倒了 80% 的人

这是上期周刊的问题解答。

2、对比三款 Go Playground:你喜欢哪款?

官方的弱爆了。。。

3、golang 拾遗:指针和接口

拾遗主要是收集和 golang 相关的琐碎知识。

4、6 张图看懂特殊的 Goroutine:g0

在 Go 中创建的所有 Goroutine 都会被一个内部的调度器所管理。Go 调度器尝试为所有的 Goroutine 分配运行时间,并且在当前的 Goroutine 阻塞或者终止的时候,Go 调度器会通过运行 Goroutine 的方式使所有 CPU 保持忙碌状态。这个调度器实际上是作为一个特殊的 Goroutine 运行的。

5、分析字节跳动高级 Go 工程师的要求,知晓自己的努力方向

来自一个 Go 招聘的公公众号。专门分享 Go 求职招聘等。

6、何时使用 Rust 和何时使用 Golang?

在本教程中,我们将就 Golang 和 Rust 进行比较和对比,评估这两种编程语言的性能,并发性,内存管理和整体开发人员体验。我们还将概述这些元素,以帮助您一目了然地为项目选择正确的语言。

7、Go 已经开始大爆发了 ?专注于 Go 职场、招聘和求职

Go 圈的朋友应该能发现,这两年 Go 受到越来越多的关注。我们不提跟国外,只看国内。去年年底,鹅厂公布了他们使用的 Top 语言,其中 Go 排在了第三位。据内部人士透露,今年有望进入第二。大厂大量使用 Go,这是一个很好信号。

8、面试官:知道 MVCC 吗?在 etcd 中的如何实现的

在数据库领域,面对高并发环境下数据冲突的问题,业界常用的解决方案有两种:避免冲突和允许冲突。

9、Go 语言 select 语句中实现优先级

Go 语言中的 select 语句用于监控并选择一组 case 语句执行相应的代码。

10、time.Sleep(1) 后发生了什么

time.Sleep 内部代码实现大有文章,每个 Go 版本的 timer 的实现都有所不同,本文基于 Go1.14,分别从宏观和围观介绍一遍主要调度过程。

开源项目

1、hc[5]

一个轻量级的框架,用于在 Go 中开发 HomeKit 配件。HomeKit 是 Apple 的框架,用于管理 Apple 设备中的“智能家居”设备,您可以使用 HomeKit 附件协议(HAP)来为您选择的硬件创建 HomeKit 桥。

2、systray[6]

一个跨平台的 Go 库,用于在通知区域中放置图标和菜单。

3、Crowdsec[7]

开源的轻量级代理,可检测并响应不良行为。它还会自动受益于我们全球社区范围内的 IP 信誉数据库。

4、scany[8]

Go 实现的用于将数据从数据库扫描到 Go 结构的库。

5、gobot[9]

使用 Go 编程语言的 IOT 框架。

6、gweb[10]

用纯 Go 编写并编译成 WASM 的浏览器游戏库。

7、bluge[11]

Go 实现的文本索引库。

8、bot2048[12]

2048游戏机器人玩家。Go 语言实现。对算法感兴趣的可以看该文:https://thomas-joly.com/bot-2048-create-an-artificial-player/。

资源&&工具

1、verless[13]

一个简单、轻量级静态网站生成器。轮子有点多。这里还有一个 plenti[14],这个感觉比 verless 更正规?

2、Chronos[15]

用于 Go 语言的静态竞争检测器。作者建议和 go race 结合使用。

3、 gof[16]

GoF 23 种设计模式的 Go 实现。

4、panoptes-stream[17]

yahoo 开源的云原生分布式流网络遥测工具。

5、cassler[18]

SSL 证书验证工具 cassler。

6、repull[19]

使用较新版本的镜像重新启动 Docker 容器的工具。

7、3d-gopher-maze[20]

基于终端的简单 3D 迷宫爬行游戏。

8、dnsping[21]

检查 DNS 服务器的数据包丢失和延迟问题。

7、goshs[22]

Go 语言编写,替代 Python 的 SimpleHTTPServer,具有许多功能和出色的设计。

8、pixlet[23]

为基于像素的显示器构建应用程序。

订阅

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

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

参考资料

[1]

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

[2]

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

[3]

validating 2.0 发布: https://github.com/RussellLuo/validating

[4]

gomodifytags 1.11.0 发布: https://github.com/fatih/gomodifytags

[5]

hc: https://github.com/brutella/hc

[6]

systray: https://github.com/getlantern/systray

[7]

Crowdsec: https://github.com/crowdsecurity/crowdsec

[8]

scany: https://github.com/georgysavva/scany

[9]

gobot: https://github.com/hybridgroup/gobot

[10]

gweb: https://github.com/life4/gweb

[11]

bluge: https://github.com/blugelabs/bluge

[12]

bot2048: https://github.com/lunatikub/bot2048

[13]

verless: https://github.com/verless/verless

[14]

plenti: https://github.com/plentico/plenti

[15]

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

[16]

gof: https://github.com/qiualiang/gof

[17]

panoptes-stream: https://github.com/yahoo/panoptes-stream

[18]

cassler: https://github.com/msfidelis/cassler

[19]

repull: https://github.com/jdevelop/repull

[20]

3d-gopher-maze: https://github.com/necrophonic/3d-gopher-maze

[21]

dnsping: https://github.com/fortio/dnsping

[22]

goshs: https://github.com/patrickhener/goshs

[23]

pixlet: https://github.com/tidbyt/pixlet

[24]

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

[25]

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


浏览 53
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

举报