zoukankan      html  css  js  c++  java
  • defer 延时执行 用于【灯】开灯和关灯写到一起

    defer 延时

    1 是延迟到return 之前.
    2 如果不写return最后默认都有一个return
     1 /*
     2 defer重要的作用
     3 用于比如第一件事是开灯,最后一件事肯定是关灯。
     4 有时代码写了开灯,最后的代码忘记写上关灯.
     5 利用defer可以实现 开灯和关灯写在一起,但是执行顺序是按照最前和最后执行的。
     6 */
     7 
     8 package main
     9 
    10 import "fmt"
    11 
    12 func main() {
    13     fmt.Println("开门")
    14     defer fmt.Println("关门")  //开门的时候立刻挂起一个关门的程序.  倒数第一执行
    15     fmt.Println("开灯")
    16     defer fmt.Println("关灯") //开灯的时候立刻挂起一个关门的程序.   倒数第二执行
    17     fmt.Println("上课")
    18 
    19 }
    20 
    21 /*
    22 开门
    23 开灯
    24 上课
    25 关灯
    26 关门
    27 */
     1 //结尾有个隐含的return
     2 
     3 package main
     4 
     5 import "fmt"
     6 
     7 func main() {
     8     defer fmt.Println("疑是银河落九天")
     9     fmt.Println("日照香炉生紫烟")
    10     fmt.Println("要看瀑布挂前川")
    11     fmt.Println("飞流直下三千尺")
    12 
    13 }
    14 /*
    15 日照香炉生紫烟
    16 要看瀑布挂前川
    17 飞流直下三千尺
    18 疑是银河落九天
    19 */
     1 // defer 多项内容
     2 
     3 package main
     4 
     5 import "fmt"
     6 
     7 func last() {
     8     fmt.Println("飞流直下三千尺")
     9     fmt.Println("疑是银河落九天")
    10 
    11 }
    12 func main() {
    13     defer last()
    14     fmt.Println("日照香炉生紫烟")
    15     fmt.Println("要看瀑布挂前川")
    16 
    17 }
    18 
    19 
    20 
    21 //也可以通过匿名函数来实现 defer 多项内容
    22 
    23 package main
    24 
    25 import "fmt"
    26 
    27 func main() {
    28         
    29             //defer func(){}() 是匿名函数
    30     defer func() {                     
    31         fmt.Println("飞流直下三千尺")
    32         fmt.Println("疑是银河落九天")
    33     }()
    34 
    35     fmt.Println("日照香炉生紫烟")
    36     fmt.Println("要看瀑布挂前川")
    37 
    38 }
  • 相关阅读:
    Win10 .Net Framework 3.5 安装错误 0x800F0954
    论如何去掌握一门新技术
    SpringBoot入门(二):日志及自定义属性
    SpringBoot入门(一):从HelloWorld开始
    【总结】Java面试题
    【SpringBoot-创建项目】一.通过Idea创建SpringBoot项目
    130道 Java多线程面试题汇总
    100道精选Redis面试题,最新Java面试题
    最新Redis面试题,附答案
    Little定律
  • 原文地址:https://www.cnblogs.com/chaoyangxu/p/11799052.html
Copyright © 2011-2022 走看看