Go语言爱好者周刊:第 107 期 — Statck Overflow 2021调查结果

共 3635字,需浏览 8分钟

 ·

2021-08-10 00:32

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

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

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

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

题图:Stack Overflow 2021 年调查报告

刊首语

上期题目由网友「爱笑」投稿,以下代码输出什么,你知道为什么吗?

package main

import (
 "fmt"
)

func main() {
 nums := []int{1234567}
 k := 3
 rotate(nums, k)
 fmt.Println(nums)
}

func rotate(nums []int, k int) {
 k = k % len(nums)
 nums = append(nums[len(nums)-k:], nums[0:len(nums)-k]...)
}

A:[5 6 7 1 2 3 4]    B:[1 2 3 4 5 6 7]   C:[4 5 6 7 1 2 3]

正确答案是 B。主要原因是 append 后的 nums 是新数组,它并不会影响 main 函数中的 nums。如果最后不是赋值给 nums,而是使用 copy,结果就是 A 了:

copy(nums, append(nums[len(nums)-k:], nums[0:len(nums)-k]...))

本期是一道关于 json 的题目,以下代码输出什么?

package main

import (
 "encoding/json"
 "fmt"
)

func main() {
 var p *int
 b, err := json.Marshal(p)
 if err != nil {
  fmt.Println(err)
  return
 }
 fmt.Println(string(b))
}

资讯

1、Go 1.16.7 和 Go1.15.15 发布[3]

同时,Go 1.17 发布了 RC2[4],离正式版发布不远了。

2、Ent 0.9.0 发布[5]

Facebook 出品,新的 Upsert API。

3、Stack Overflow 发布 2021 年调查报告[6]

Go 在最想学习榜中排名第四。

4、gohugo v0.87.0 发布[7]

支持时间、日期以及货币的本地化。

5、Kubernetes 1.22 版本发布[8]

号称达到新的巅峰。

6、TIOBE 发布 8 月编程语言榜单:Go 排名如何?

大家比较看好 Go,但感觉这榜单。。。

谁在招 Gopher

整理近期的 Go 职位。有招聘需求可以到「Go招聘」发布!

文章

1、Go 程序中的非 Go 后缀文件

Go1.16 后有了更多选择。

2、Go 标准库 encoding/json 真的慢吗?

大部分时候,标准库是最好的选择。

3、用 Go 实现类似 Nginx 的 Access Log

看看是如何处理的。

4、重磅!GitHub 为 Go 社区带来安全支持

安全问题越来越受到重视。

5、只用 3 步构建 Go docker 最小镜像

你一般怎么构建呢?

6、你负责的服务熔断了,还不赶紧进来看看。

微服务必备。

7、Go 基于 I/O 多路复用的 TCP 协议流解析实践[9]

基于Go经典的阻塞I/O模型实现了一个基于TCP流的自定义协议的解析

8、两款 go 开发实用工具

方便日常使用。

开源项目

1、virgo[10]

基于图的配置语言。

2、cloudflare-go[11]

CloudFlare API 的 Go 库。

3、v2[12]

简约而有主见的 Feed 阅读器。

4、phonenumbers[13]

Google 电话号码解析库的 Go 移植版。

资源&&工具

1、cxgo[14]

将 C 转为 Go 的工具,纯 Go 实现。

2、 Peanut[15]

为开发和测试管道轻松地部署数据库和服务。

3、chezmoi[16]

安全地在多个不同的机器上管理你的 dotfiles。

4、播客第 191 期[17]

Go 语言实践观点集合。

订阅

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

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

wechat

往期推荐

参考资料

[1]

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

[2]

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

[3]

Go 1.16.7 和 Go1.15.15 发布: https://studygolang.com/topics/14096

[4]

Go 1.17 发布了 RC2: https://groups.google.com/g/golang-announce/c/yk30ovJGXWY

[5]

Ent 0.9.0 发布: https://entgo.io/blog/2021/08/05/announcing-upsert-api/

[6]

Stack Overflow 发布 2021 年调查报告: https://insights.stackoverflow.com/survey/2021#technology-most-loved-dreaded-and-wanted

[7]

gohugo v0.87.0 发布: https://gohugo.io/news/0.87.0-relnotes/

[8]

Kubernetes 1.22 版本发布: https://kubernetes.io/blog/2021/08/04/kubernetes-1-22-release-announcement/

[9]

Go 基于 I/O 多路复用的 TCP 协议流解析实践: https://tonybai.com/2021/07/31/io-multiplexing-model-tcp-stream-protocol-parsing-practice-in-go

[10]

virgo: https://github.com/r2d4/virgo

[11]

cloudflare-go: https://github.com/cloudflare/cloudflare-go

[12]

v2: https://github.com/miniflux/v2

[13]

phonenumbers: https://github.com/nyaruka/phonenumbers

[14]

cxgo: https://github.com/gotranspile/cxgo

[15]

Peanut: https://github.com/Clivern/Peanut

[16]

chezmoi: https://github.com/twpayne/chezmoi

[17]

播客第 191 期: https://changelog.com/gotime/191

[18]

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

[19]

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


浏览 76
点赞
评论
收藏
分享

手机扫一扫分享

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

手机扫一扫分享

分享
举报