Go 使用defer语句

Go 使用defer语句,defer是一个很有用的Go语言功能,它能够让您在函数返回前执行另一个函数。函数在遇到return语句或到达函数末尾时返回。defer语句通常用于执行清理操作或确保操作(如网络调用)完成后再执行另一个函数。如下程序使用了一条defer语句,这条语句将在它所在的函数返回前执行。

 package main

 import (
  "fmt"
 )

 func main() {
  defer fmt.Println("I am run after the function completes")
  fmt.Println("Hello World!")
  }

运行结果如下:
Go 使用defer语句

解读如下:

  • 使用一条defer语句,在它所在的函数执行完毕后执行另一个函数。
  • 向终端打印Hello World!,外部函数就此结束。
  • 外部函数结束后,执行defer语句指定的函数。

如下程序演示了多条defer语句及其执行顺序。

 package main

 import (
  "fmt"
 )

 func main() {
  defer fmt.Println("I am the first defer statement")
  defer fmt.Println("I am the second defer statement")
  defer fmt.Println("I am the third defer statement")
  fmt.Println("Hello World!")
 }

运行结果如下:
Go 使用defer语句

解读如下。

  • 3条defer语句都指定了它们所在的函数执行完毕后要执行的函数。
  • 向终端打印Hello World!,外部函数就此结束。
  • 外部函数执行完毕后,按与defer语句出现顺序相反的顺序执行它们指定的函数。

酷客教程相关文章:

赞(0)

评论 抢沙发

评论前必须登录!