0%

Go语言延迟调用defer

defer后面必须是函数调用语句,其后面的函数会当前函数执行结束后被调用。

一、概念

      defer是Go语言中的延迟执行语句,用来添加函数结束时执行的代码,常用于释放某些已分配的资源、关闭数据库连接、断开socket连接、解锁一个加锁的资源等。Go语言机制能够保证一定会执行defer语句中的代码,有点类似于JavaC#语言里的finally语句,C++PHP语言里的析构函数等。

二、使用

  1. demo
1
2
3
4
5
6
7
8
9
10
11
12
13
package main

import "fmt"

func testFunc() {
fmt.Println("执行结束...")
}

func main() {
defer testFunc()

fmt.Println("开始执行...")
}

三、参考

  1. 参考一