首页 文章详情

Go语言爱好者周刊:第 100 期 — 父亲节快乐

Go语言精选 | 475 2021-06-24 01:01 0 0 0
UniSMS (合一短信)

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

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

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

题图:父亲节快乐

刊首语

上周周刊,虽然答题人数不多,但正确率才 28%。题目是这样的:

package main

import "fmt"

func named() (n, _ int) {
 return 12
}

func main() {
 fmt.Print(named())
}

以上代码输出什么?

A:1 0;B:1 2;C:不能编译;D:0 0

正确答案是 B。记住一点:命名返回值会被 return 后面的值覆盖掉。

看看本周的题目:

Go 版本 1.12 以上,以下代码输出什么?

package main

import (
 "fmt"
)

func main() {
 m := map[string]int{"foo"0"bar"1"baz"2}
 for k := range m {
  if k == "foo" {
   delete(m, "bar")
  }
  if k == "bar" {
   delete(m, "foo")
  }
 }
 fmt.Println(m)
}

资讯

1、SFTPGo 2.1.0 发布[3]

Go 实现的功能齐全的 SFTP 服务器。

2、mock 1.6.0 发布[4]

官方出品的 Mock 框架。

3、GoLand 2021.2 EAP 发布

预览版本。

谁在招 Gopher

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

1、百度健康急聘Gopher

文章

1、Go就这待遇?2021年6月程序员工资排行榜

数据来源不知道是否可信。

2、鸭子类型 vs 结构化类型 vs 标称类型?Go是哪种?

编程语言具有类型概念 - 布尔类型,字符串,整型或者被称为类或者结构体的更加复杂的结构。

3、搭建了一个Go官网

https://docs.studygolang.com。

4、图解 Go 逃逸分析

逃逸分析 是 Golang 编译器中的一个阶段,它通过分析用户源码,决定哪些变量应该在堆栈上分配,哪些变量应该逃逸到堆中。

5、Go:字符串以及转换优化

在 Go 语言中,将 byte 数组转换为 string 时,随着转换后字符串的拷贝,可能会触发内存分配。

6、Go1.17 新特性之切片变数组

目前没太看出有多大用处。

7、从一道题讲起:Go 的不可寻址值和切片

Dave Cheney 在 Twitter 上发布了一个 Go 的小测验。

8、Go 结构体的另类玩法:命名空间

挺有意思。

开源项目

1、go-vcr[5]

记录并重放 HTTP 交互以获得快速,确定性和准确的测试。

2、gg[6]

用于渲染 2D 图形的纯 Go 库。

3、scan[7]

将 database/sql 行直接扫描到结构体,切片和原始类型。

4、domui[8]

使用纯 Go 语言编写 Web 应用的框架。

5、LinDB[9]

用 Go 重新实现饿了么在用的分布式时序数据库。

6、access-controller[10]

“谷歌一致性全球授权系统”论文的一个实现。

7、erda[11]

Golang 开发的一站式云原生 PaaS 平台。

8、column[12]

Go 实现的具有位图索引的高性能、列式、内存存储库。

资源&&工具

1、signoz[13]

帮助开发人员监控他们的应用程序和故障排除问题,是 DataDog,Newrelic 等的开源替代品。官方介绍博文:https://signoz.io/blog/monitoring-your-go-application-with-signoz/。

2、trivy[14]

一个针对容器镜像、Git 存储库和文件系统的漏洞扫描器,适用于 CI。

3、mqtts[15]

mqtt 协议安全检查工具。

4、csv-sql[16]

加载 csv 和 excel(xlsx)文件并运行 sql 命令的命令行工具。

5、gobrew[17]

另一个 Go 版本管理器。

6、Mmark[18]

面向 IETF RFC 文档的 Markdown 处理器。

7、migrate[19]

基于 sql.DB 和 fs.FS 实现的数据库迁移工具。

8、nancy[20]

由 Sonatype OSS Index 提供的检查 Go 依赖项中漏洞的工具。

9、plow[21]

基于 fasthttp 实现的高性能http压测工具。

订阅

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

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

wechat

往期推荐
参考资料

[1]

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

[2]

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

[3]

SFTPGo 2.1.0 发布: https://github.com/drakkan/sftpgo/releases/tag/v2.1.0

[4]

mock 1.6.0 发布: https://github.com/golang/mock

[5]

go-vcr: https://github.com/dnaeon/go-vcr

[6]

gg: https://github.com/fogleman/gg

[7]

scan: https://github.com/blockloop/scan

[8]

domui: https://github.com/reusee/domui

[9]

LinDB: https://github.com/lindb/lindb

[10]

access-controller: https://github.com/authorizer-tech/access-controller

[11]

erda: https://github.com/erda-project/erda

[12]

column: https://github.com/kelindar/column

[13]

signoz: https://github.com/signoz/signoz

[14]

trivy: https://github.com/aquasecurity/trivy

[15]

mqtts: https://github.com/SPuerBRead/mqtts

[16]

csv-sql: https://github.com/dhamith93/csv-sql

[17]

gobrew: https://github.com/kevincobain2000/gobrew

[18]

Mmark: https://github.com/mmarkdown/mmark

[19]

migrate: https://github.com/maragudk/migrate

[20]

nancy: https://github.com/sonatype-nexus-community/nancy

[21]

plow: https://github.com/six-ddc/plow

[22]

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

[23]

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


good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter