zoukankan      html  css  js  c++  java
  • 17_defer(延迟调用)关键字的使用

    1、defer是延迟调用关键字,只能在函数内部使用
    2、总是在main函数结束前调用(和init用法相对)
    3、如果有多个defer 遵循先进后出的原则
    4、和匿名函数同时使用时,如果匿名函数带有参数,则先把参数传进去,最后调用
    
    

    例如:

    package main
    
    
    import "fmt"
    func Test() {
    	defer fmt.Println("111111")             //最后执行
    	defer fmt.Println("222222")             //其次
    	defer fmt.Priiota_test.gontln("333333") //最先执行这个
    
    
    }
    
    
    func main() {
    
    
    	a := 1
    	b := 2
    	defer fmt.Println(a, b) //1,2 先把参数传进去,然后执行后面的程序,最后在main函数结束前执行这个
    	defer func(a, b int) {
    		fmt.Printf("a1=%d,b1=%d
    ", a, b)
    	}(a, b) //先把参数传进去,最后按顺序执行defer语句
    	a = 4
    	b = 6
    	fmt.Println("a=", a, "b=", b)
    	Test()
    }

    运行结果:

                          

    每天的价值就是不停息的前进!!!
  • 相关阅读:
    Python--day72--ajax简介
    Python基础1 介绍、基本语法
    10-Python-字符编码
    09-Python-集合
    07-Python-字符串操作
    99-Python-深浅拷贝
    06-Python-字典
    05-Python-判断语句
    04-Python-元组
    03-Python-操作列表
  • 原文地址:https://www.cnblogs.com/zhaopp/p/11439430.html
Copyright © 2011-2022 走看看