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!")
}
运行结果如下:
解读如下:
- 使用一条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!")
}
运行结果如下:
解读如下。
- 3条defer语句都指定了它们所在的函数执行完毕后要执行的函数。
- 向终端打印Hello World!,外部函数就此结束。
- 外部函数执行完毕后,按与defer语句出现顺序相反的顺序执行它们指定的函数。
酷客教程相关文章:
评论前必须登录!
注册