GOGOUP-7.defer关键字

万丈高楼平地起-defer关键字

  • defer 定义的函数是在 函数逻辑执行完了之后才执行的.defer语句的作用是不管程序是否出现异常,均在函数退出时自动执行相关代码。 所以,defer后面的函数通常又叫做延迟函数。 它会经常被用于关闭文件描述符、关闭数据库连接以及解锁资源
  • 定义defer类似于入栈操作,执行defer类似于出栈操作,先进后出。
  • 看下面代码
    package main
    
    import "fmt"
    
    func derfer1() {
    	fmt.Println("derfer 1 被执行了.....")
    }
    
    func derfer2() {
    	fmt.Println("derfer 2 被执行了.....")
    }
    
    func derfer3() {
    	fmt.Println("derfer 3 被执行了.....")
    }
    func main() {
    	defer derfer1()
    	defer derfer2()
    	defer derfer3()
    }
    
    
  • 执行结果、先进后出符合预期
    GOGOUP-7.defer关键字
  • 在dotnet 里using 块和defer作用类似。
上一篇:GOGOUP-2.变量的声明方式


下一篇:HHKB Programming Contest 2020 D - Squares【思维】