gitalk icon indicating copy to clipboard operation
gitalk copied to clipboard

卷起来,老程序员也得了解errors包的新变化

Open utterances-bot opened this issue 2 years ago • 3 comments

卷起来,老程序员也得了解errors包的新变化

Go 1.13 中errors包有了一些变化,这些变化是为了更好地支持Go的错误处理提案。Go 1.20中也增加了一个新方法,这个新方法可以代替第三方的库处理多个error,这篇文章将介绍这些变化。 因为原来的Go的errors中的内容非常的简单,可能会导致大家轻视这个包,

https://colobu.com/2023/12/13/learn-more-about-errors/

utterances-bot avatar Dec 14 '23 02:12 utterances-bot

join这里的示例代码,通常发生一个err不就直接返回了吗,后续的流程也就没必要了,感觉实际很难有场景能用上啊。 前面的判断包含指定error感觉用法也有点奇怪,拿java来类比,catch不同的err变成了is不同的error?那这样内部完全还可以是单个返回不用join不用warp

fengqi avatar Dec 14 '23 02:12 fengqi

@fengqi 假如你有一个任务,其中包含了七八个流程,这几个流程参数结果互不相干,那你肯定选择并发去执行他们,获取对应的结果(能充分利用cpu,节约时间)吧?如果没得join,你就需要处理七八次错误了;有的话,你最后处理一次错误就好了。

tanqiangyes avatar Dec 14 '23 03:12 tanqiangyes

使用場景跟 golang.org/x/sync/errgroup 差不多

tanqiangyes avatar Dec 14 '23 03:12 tanqiangyes