Go语言爱好者周刊:第 137 期 — 34%的正确率

2022年3月27日 227点热度 0人点赞 0条评论

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

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

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

图片

题图:Go 吉祥物,代表了简单!

刊首语

本期题目:以下代码输出什么?

func main() {
  var m sync.Mutex
  fmt.Print("A, ")
  m.Lock()

  go func() {
    time.Sleep(200 * time.Millisecond)
    m.Unlock()
  }()

  m.Lock()
  fmt.Print("B ")
}

A:A,B;B:A,C:A,fatal error;D:fatal error...

正确答案:A,即正常输出 A,B。该题正确率 34%。

在 main goroutine 第二次请求 Lock 时,会堵塞。这样另一个 goroutine 会运行,释放锁。如果没有另一个 goroutine 释放锁,则会报 fatal error,所有的 goroutine 都处于 sleep 状态,死锁!

本期题目:以下代码输出什么?

package main

import "fmt"

func main() {
 var a, b = 1.02.0
 fmt.Println(a | b)
}

资讯

1、GoLand 2022.1 Beta 发布

支持 Go1.18,还有微服务。

2、chromedp 0.8 发布[3]

Go 1.18 的支持。

3、bloom 3.2 发布[4]

Go 的 Bloom filters 实现。

文章

1、Go 中类型转换的那些事

使用最多的 strconv 包。

2、在腾讯,Go首次超越C++成为最热门语言

Go 要起飞?

3、goutil/dump —— 打印漂亮且易于阅读的 Go 数据

一个 golang 数据打印工具包,可以打印漂亮易读的 go slice、map、struct 数据。

4、Go语言 JSON 与 Cache 库调研与选型

有这方面需求的可以看看。

5、如果你是一个Golang面试官,你会问哪些问题?

来自知乎。

开源项目

1、lotusdb[5]

基于快速文件的键值存储库。

2、xid[6]

全局唯一 ID 生成器,使用 MongoDB 对象 ID 的算法。

3、pie[7]

操作 slice 和 map 的方便库。

资源&&工具

1、date-time-format-cheatsheet[8]

Go 中日期和时间 cheatsheet。

2、leaktest[9]

Goroutine 泄露检测。

3、Data-Structures-and-Algorithms[10]

数据结构和算法的 Go 实现。

4、syft[11]

一个 CLI 工具和 Go 库,用于从容器映像和文件系统生成软件物料清单(SBOM)。

订阅

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

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

图片

wechat

参考资料

[1]

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

[2]

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

[3]

chromedp 0.8 发布: https://github.com/chromedp/chromedp

[4]

bloom 3.2 发布: https://github.com/bits-and-blooms/bloom

[5]

lotusdb: https://github.com/flower-corp/lotusdb

[6]

xid: https://github.com/rs/xid

[7]

pie: https://github.com/elliotchance/pie

[8]

date-time-format-cheatsheet: https://gosamples.dev/date-time-format-cheatsheet/

[9]

leaktest: https://github.com/fortytw2/leaktest

[10]

Data-Structures-and-Algorithms: https://github.com/paliimx/Data-Structures-and-Algorithms

[11]

syft: https://github.com/anchore/syft

[12]

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

[13]

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

10380Go语言爱好者周刊:第 137 期 — 34%的正确率

root

这个人很懒,什么都没留下

文章评论