• Go语言流程控制05--defer延时执行


    package main
    
    import "fmt"
    
    func xingzuoZhensuo() {
    	var birthday string
    	fmt.Println("请输入您的生日,例如0823")
    	fmt.Scan(&birthday)
    
    	if birthday >= "0823" && birthday <= "0922" {
    		fmt.Println("阁下真乃神人也")
    	} else if birthday >= "0923" && birthday <= "1022" {
    		fmt.Println("阁下是天秤座")
    	} else if birthday >= "1023" && birthday <= "1122" {
    		fmt.Println("阁下是天蝎座")
    	} else if birthday >= "1123" && birthday <= "1222" {
    		fmt.Println("阁下是射手座")
    	} else if (birthday >= "1223" && birthday <= "1231") || (birthday >= "0101" && birthday <= "0122") {
    		fmt.Println("阁下是摩羯座")
    	} else if birthday >= "0123" && birthday <= "0222" {
    		fmt.Println("阁下是水瓶座")
    	} else if (birthday >= "0223" && birthday <= "0229") || (birthday >= "0301" && birthday <= "0322") {
    		fmt.Println("阁下是双鱼座")
    	} else if birthday >= "0323" && birthday <= "0422" {
    		fmt.Println("阁下是白羊座")
    	} else if birthday >= "0423" && birthday <= "0522" {
    		fmt.Println("阁下是金牛座")
    	} else if birthday >= "0523" && birthday <= "0622" {
    		fmt.Println("阁下是双子座")
    	} else if birthday >= "0623" && birthday <= "0722" {
    		fmt.Println("阁下是巨蟹座")
    	} else if birthday >= "0723" && birthday <= "0822" {
    		fmt.Println("阁下是狮子座")
    	} else {
    		fmt.Println("阁下就是传说中的蛇夫座鸭!")
    	}
    
    }
    
    func main071() {
    	fmt.Println("亲爱的患者,欢迎来到我院!")
    	//挂起一个延时任务(在当前函数返回(结束)前执行)
    	defer fmt.Println("同志再见,我院永远欢迎你!")
    
    	xingzuoZhensuo()
    	fmt.Println("事务A")
    	fmt.Println("事务B")
    	fmt.Println("事务C")
    }
    
    /*
    ·诊断完毕后连续输出“您的诊断已结束”,“请这边滚”,“我院永远欢迎你”
    */
    func main() {
    	fmt.Println("亲爱的患者,欢迎来到我院!")
    
    	/*多个defer时,执行顺序是倒置的*/
    	//第1个defer会倒数第1个执行
    	defer fmt.Println("我院永远欢迎你")
    	//第2个defer会倒数第2个执行
    	defer fmt.Println("请这边滚")
    	//第3个defer会倒数第3个执行
    	defer fmt.Println("您的诊断已结束")
    
    	xingzuoZhensuo()
    	fmt.Println("事务A")
    	fmt.Println("事务B")
    	fmt.Println("事务C")
    }
    

    输出:

    亲爱的患者,欢迎来到我院!
    请输入您的生日,例如0823
    1111
    阁下是天蝎座
    事务A
    事务B
    事务C
    您的诊断已结束
    请这边滚
    我院永远欢迎你
    

      

  • 相关阅读:
    lombok工作原理分析
    jsqlparser和calcite和druid功能对比
    mysql主从备份及常见问题处理
    keepalived结合nginx实现nginx高可用
    FastDFS教程IV-文件服务器集群搭建
    FastDFS教程Ⅲ-文件服务器扩容
    fastDFS教程Ⅱ-文件服务器迁移
    FastDFS教程Ⅰ-文件服务器安装与Nginx配置
    Cognos报表调度与作业管理
    Cognos 11.0快速开发指南 Ⅱ
  • 原文地址:https://www.cnblogs.com/yunweiqiang/p/11787799.html
Copyright © 2020-2023  润新知