Go 错误处理新提案
2022-10-18 18:12:59 Author: mp.weixin.qq.com(查看原文) 阅读量:15 收藏

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

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

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

题图:error 处理提案:https://github.com/golang/go/issues/56165

刊首语

本期一道关于 map 的题目。以下代码输出什么?

package main

import "fmt"

func main() {
    var m map[string]int
    delete(m, "oh noes!")
    fmt.Println(m)
}

资讯

1、考虑重新定义 for 变量[3]

在 HN 上也有讨论:https://news.ycombinator.com/item?id=33160236。

2、gum 0.8 发布[4]

一款用于制作迷人 shell 脚本的工具。

3、fsnotify 1.6.0 发布[5]

文件系统事件通知。

4、lazydocker 0.19 发布[6]

用于 Docker 的基于终端的 UI。

5、cobra 1.6.0 发布[7]

一个构建现代 CLI APP 的框架。

6、goa 3.10 发布[8]

一个使用独特的设计优先的方法在 Go 中构建微服务和 API 的框架。

文章

1、31个!Golang常用工具来啦(建议收藏)

本文主要分享Golang相关的一些使用工具,简单介绍工具作用和使用场景,不会详细介绍其使用,列举的工具也不是最全的,具体可以参考链接或自行搜索学习。

2、10月榜单:Go 进前 10 一步之遥,Rust 最近很猛

TIOBE 公布了 2022 年 10 月的编程语言排行榜。

3、通俗易懂!图解Go协程原理及实战

本文主要介绍一下线程、协程的原理,以及写成的基本使用,希望能对此方面感兴趣的开发者提供一些经验和启发。

4、Go:Map 和 内存泄露

map 总是可以在内存中增长;它从不收缩。因此,如果它导致一些内存问题,你可以尝试不同的选项,例如强制 Go 重新创建 map 或使用指针。

5、如何在 Golang 中编写断路器(circuit breaker)

在这篇文章中,我想谈谈一个基于流行的开源项目 hystrix 的 circuit breaker (断路器)模式(实际上,我会看看 golang 版本的hystrix-go,而不是用 Java 编写的原始版本)。

6、探究 Go 源码中 panic & recover 有哪些坑?

本篇文章从一个例子出发,然后讲解了 panic & recover 的源码。

7、深入理解 Go CPU profiler 内幕

Go 是那种自带 profiler (分析器)的语言之一。

开源项目

1、cute[9]

简洁、漂亮的 fmt 替代包。

2、opus[10]

Opus (交互式音频编解码器)的 Go 实现。

3、go-htmltable[11]

Go 的 HTML 表格数据提取器。

4、tacquito[12]

一个用 Go 编写的开源 TACACs+ 服务器,它实现了 RFC8907。

5、go-simpex[13]

标准库 regexp 替代者,更简单、快速。

资源&&工具

1、autostrada[14]

用于 Go 的闪电般快速的代码库生成。

2、pagoda[15]

快速、轻松的全栈 Web 开发初学者工具包。

3、circumflex[16]

终端查看 Hacker News。

订阅

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

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

wechat

参考资料

[1]

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

[2]

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

[3]

考虑重新定义 for 变量: https://github.com/golang/go/discussions/56010

[4]

gum 0.8 发布: https://github.com/charmbracelet/gum

[5]

fsnotify 1.6.0 发布: https://github.com/fsnotify/fsnotify/releases/tag/v1.6.0

[6]

lazydocker 0.19 发布: https://github.com/jesseduffield/lazydocker

[7]

cobra 1.6.0 发布: https://github.com/spf13/cobra

[8]

goa 3.10 发布: https://github.com/goadesign/goa

[9]

cute: https://github.com/zakaria-chahboun/cute

[10]

opus: https://github.com/pion/opus

[11]

go-htmltable: https://github.com/nfx/go-htmltable

[12]

tacquito: https://github.com/facebookincubator/tacquito

[13]

go-simpex: https://github.com/tobiassjosten/go-simpex

[14]

autostrada: https://autostrada.dev/

[15]

pagoda: https://github.com/mikestefanello/pagoda

[16]

circumflex: https://github.com/bensadeh/circumflex

[17]

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

[18]

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


文章来源: https://mp.weixin.qq.com/s?__biz=MzAxNzY0NDE3NA==&mid=2247490383&idx=1&sn=48d65061aaaec97624fd9a7e7dd957cb&chksm=9be334aeac94bdb83d642cdb9c42157ad150722e2a7f06db88849ebe8874a89402d4f2f2bae9#rd
如有侵权请联系:admin#unsafe.sh