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

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

概述有人可以解释os.Exit()和panic()之间的关键差异,以及它们在实践中如何在Golang中使用? 首先,每当你有一个“如何在实践中使用”的问题,一个好的方法开始是 search的Go源代码(或任何足够大的Go代码库,真的),和 package docs的答案。 现在,os.Exit和panic是完全不同的。 panic在程序或其部分已达到不可恢复状态时使用。 When panic is c 有人可以解释os.Exit()和panic()之间的关键差异,以及它们在实践中如何在Golang中使用? 首先,每当你有一个“如何在实践中使用”的问题,一个好的方法开始是 search的Go源代码(或任何足够大的Go代码库,真的),和 package docs的答案。

现在,os.Exit和panic是完全不同的。 panic在程序或其部分已达到不可恢复状态时使用。

When panic is called,including implicitly for run-time errors such as indexing a slice out of bounds or failing a type assertion,it immediately stops execution of the current function and begins unwinding the stack of the goroutine,running any deferred functions along the way. If that unwinding reaches the top of the goroutine’s stack,the program dIEs.

os.Exit用于需要立即中止程序,没有恢复或运行延迟清理语句的可能性,并且还返回错误代码(其他程序可以用来报告发生了什么)。这在测试中很有用,当你已经知道在这一个测试失败后,另一个测试也会失败,所以你可能现在就退出。这也可以在您的程序完成它需要做的一切时使用,现在只需要退出,即打印帮助消息后。

大多数时候你不会使用panic(你应该返回一个错误),你几乎不需要os.Exit在一些情况下的测试和快速程序终止。

总结

以上是内存溢出为你收集整理的何时在Golang中使用os.Exit()和panic()?全部内容,希望文章能够帮你解决何时在Golang中使用os.Exit()和panic()?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

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

原文地址: http://outofmemory.cn/langs/1274577.html

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

发表评论

登录后才能评论

评论列表(0条)

保存