最近在学习golang 发现程序panic使用recover捕获,返回值被坑了。
在网上看到篇文章:https://studygolang.com/articles/4809
两个结论:
-
多个defer的执行顺序为“后进先出”;
-
defer、return、返回值三者的执行逻辑应该是:return最先执行,return负责将结果写入返回值中;接着defer开始执行一些收尾工作;最后函数携带当前返回值退出。
最近在学习golang 发现程序panic使用recover捕获,返回值被坑了。
在网上看到篇文章:https://studygolang.com/articles/4809
两个结论:
多个defer的执行顺序为“后进先出”;
defer、return、返回值三者的执行逻辑应该是:return最先执行,return负责将结果写入返回值中;接着defer开始执行一些收尾工作;最后函数携带当前返回值退出。
最近在学习golang 发现程序panic使用recover捕获,返回值被坑了。
在网上看到篇文章:https://studygolang.com/articles/4809
两个结论:
多个defer的执行顺序为“后进先出”;
defer、return、返回值三者的执行逻辑应该是:return最先执行,return负责将结果写入返回值中;接着defer开始执行一些收尾工作;最后函数携带当前返回值退出。