小编典典

断言是邪恶的吗?[关闭]

go

Go语言的创造者写的

Go不提供断言。
它们无疑是很方便的,但是我们的经验是程序员将它们用作拐杖,以避免考虑适当的错误处理和报告。正确的错误处理意味着服务器在发生非严重错误后仍可继续运行,而不会崩溃。正确的错误报告意味着错误是直接的并指向重点,从而使程序员不必解释大型崩溃跟踪。当程序员看到的错误不熟悉代码时,精确的错误尤为重要。

您对此有何看法?


阅读 214

收藏
2020-07-02

共1个答案

小编典典

不,assert只要您按预期使用它,就没有错。

也就是说,这是为了在调试过程中捕获“不可能发生”的情况,而不是正常的错误处理。

  • 断言:程序逻辑本身失败。
  • 错误处理:不是由于程序错误引起的错误输入或系统状态。
2020-07-02