伟大伟大

golang: defer的使用

  1. 命名返回函数,注意defer可以修改命名返回变量(命名返回变量的作用域为整个函数作用域);匿名返回则会提前创建一个临时变量,并将return的变量值赋值给临时变量,defer中无法改变临时变量的值。
  2. 不要在循环中使用defer,因为defer的内容会入栈,如果循环次数多会造成比较大开销。
  3. defer resource.Close()需要在error check之后,以防关闭没有打开的资源会引发错误。
posted @ 2025-03-25 23:59  wooHsi  阅读(19)  评论(0)    收藏  举报