专栏名称: GoCN
最具规模和生命力的 Go 开发者社区
今天看啥  ›  专栏  ›  GoCN

Go 错误处理指北:Defer、Panic、Recover 三剑客

GoCN  · 公众号  ·  · 2024-10-18 12:32
    

文章预览

Go 语言中的错误处理不仅仅只有 if err != nil , defer 、 panic 和 recover 这三个相对来说不不如 if err != nil 有名气的控制流语句,也与错误处理息息相关。本文就来讲解下这三者在 Go 语言中的应用。 Defer defer 是一个 Go 中的关键字,通常用于简化执行各种清理操作的函数。 defer 后跟一个函数(或方法)调用,该函数(或方法)的执行会被推迟到外层函数返回的那一刻,即函数(或方法)要么遇到了 return ,要么遇到了 panic 。 语法 defer 功能使用语法如下: defer  Expression 其中 Expression 必须是函数或方法的调用。 defer 使用示例如下: func   f ()  {   defer  fmt.Println( "deferred in f" )  fmt.Println( "calling f" ) } func   main ()  {  f() } 执行示例代码,得到输出如下: $ go run main.go             calling f deferred  in  f 根据输出可以发现,被 defer 修饰 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览