Go语言圣经上的一道习题,用panic和recover不用return返回一个非零值,咋写

唐生的那个实际上还是一个返回,不过可以函数调用,底层的那个panic,上层来捕获
■网友
package mainimport (\t"fmt")func main() {\tfmt.Println(f())}func f() (v int) {\tdefer func() {\t\trecover() \t}()\t\tv = 123\tpanic(0)} 【Go语言圣经上的一道习题,用panic和recover不用return返回一个非零值,咋写】 panic导致异常返回,返回前需要执行defer注册的函数,defer中执行了recover函数,捕获了异常,而返回值是命名的,所以已经赋值了。


    推荐阅读