Go语言不提供断言(assertions)。它们无疑很方便,但我们的经验是程序员会将它们用作避免考虑适当的错误处理和报告的支撑。然而,它有print和println。
这难道不是一个断言吗?为什么他们声称上述内容但有panic呢?我可以看到它会导致相同的问题,但在其末尾添加了一个错误消息,这很容易被滥用。我错过了什么吗?panic像print一样,在打印后中止执行
panicln像println一样,在打印后中止执行
panic
就像是“先写入再中止”,而断言则像是“测试,如果为假,则写入后中止”。无论如何,他们都无法阻止你执行类似断言的语句。 - zneak