何时使用os.Exit()和panic()?

何时使用os.Exit()和panic()?,第1张

何时使用os.Exit()和panic()?

首先,每当您遇到“如何在实践中使用它”问题时,一个好的开始方法就是搜索
Go源代码(或实际上足够大的Go代码库),并在软件包文档中寻找答案。

现在,

os.Exit
panic
有很大的不同。
panic
程序或其部分达到不可恢复的状态时使用。

panic
被调用时(包括对运行时错误的隐式调用,例如,对切片进行索引编制索引或失败类型声明),它将立即停止当前函数的执行并开始展开goroutine的堆栈,并在此过程中运行所有延迟函数。如果解散到达goroutine堆栈的顶部,程序将终止。

os.Exit
当您需要 立即 中止程序
无法恢复或运行延迟的清除语句并返回错误代码(其他程序可以用来报告发生的情况)时,使用。这在测试中很有用,当您已经知道一个测试失败后,另一个测试也会失败,因此您最好立即退出。当您的程序完成了它需要做的所有事情后,现在只需要退出,即在打印帮助消息之后,也可以使用此功能。

大多数情况下,您将不使用

panic
(应返回一个
error
替代值),并且几乎不需要
os.Exit
在某些情况下进行测试和快速终止程序。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5170436.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-18
下一篇2022-11-18

发表评论

登录后才能评论

评论列表(0条)

    保存