Skip to content

延时调用

  • 在函数return之前执行。

定义

格式 :defer 其他操作

go
func devide() {
    //defer 等函数执行完毕再执行
	defer func() {
        //recover() //捕获异常错误
		err := recover()
		if err != nil {
			fmt.Println("devide()错误", err)
		}
	}()
	num1 := 10
	num2 := 0
	result := num1 / num2
	fmt.Println(result)
}

用途

  • 关闭文件
  • 关闭链接
  • 解锁
  • 资源释放