该Go语言的创造者写的:
Go
Go不提供断言。 它们无疑是很方便的,但是我们的经验是程序员将它们用作拐杖,以避免考虑适当的错误处理和报告。正确的错误处理意味着服务器在发生非严重错误后仍可继续运行,而不会崩溃。正确的错误报告意味着错误是直接的并指向重点,从而使程序员不必解释大型崩溃跟踪。当程序员看到的错误不熟悉代码时,精确的错误尤为重要。
您对此有何看法?
不,assert只要您按预期使用它,就没有错。
assert
也就是说,这是为了在调试过程中捕获“不可能发生”的情况,而不是正常的错误处理。