我才刚刚开始学围棋.我的代码开始有很多这样的内容:

   if err != nil {
      //handle err
   }

还是这个

  if err := rows.Scan(&some_column); err != nil {
      //handle err
  }

对于判断和处理围棋中的错误,有没有一些好的习惯用法/策略/最佳实践?

编辑以澄清:我不是在发牢骚,也不是在建议围棋团队拿出更好的东西.我在问我做得对不对,或者我错过了社区想出的一些技术.谢谢大家.

推荐答案

您的代码是惯用的,在我看来,这是可用的最佳实践.有些人肯定会不同意,但我认为这是the standard libraries in Golang多年来普遍存在的风格.换句话说,Go作者以这种方式编写错误处理.

Go相关问答推荐

将类型定义为泛型类型实例化

MaybeReadByte对通道的使用如何在Go中提供随机行为?

使用 httptest 对 http 请求进行单元测试重试

是否可以在 hyperledger-chaincode 中使用 gRPC?如果可以,我如何避免在测试网络上调用时出错?

下载和合并时输出文件已损坏

无法使用带有 422 的 go-github 创建提交 - 更新不是快进

golang 上基于标头的版本控制

闭包所处的环境范围是什么?

函数实现接口时的模式名称是什么?

确保 Go 1.20 编译时的严格可比性?

Golang并发写入多个文件

Golang - 将 [8] 布尔转换为字节

当有多个同名包时如何在vscode中显示golang包完整路径?

分配空切片而不引用其类型?

Golang - 无法从 pipped Windows 命令中获取结果

Golang 'defer' 导致发送(接收)API 响应延迟

go routine 和接收错误或成功的通道

gopls 为 github.com/Shopify/sarama 返回错误gopls: no packages returned: packages.Load error

如何使用通用字段初始化匿名struct数组

如何访问Go 1.18泛型 struct (structs)中的共享字段