• Go语言流程控制03--goto跳转到任意标签位置


    package main
    
    import (
    	"fmt"
    	"time"
    )
    
    func main() {
    	STUDYHARD:
    	fmt.Println("开始努力奋斗")
    		var i = 0
    		for {
    			fmt.Printf("努力奋斗了%d小时
    ", i)
    			time.Sleep(500*time.Millisecond)
    			i ++
    
    			if i > 10{
    				//跳出当前循环
    				fmt.Println("恭喜获得组织颁发奖状")
    				goto TRYAGAIN
    			}
    		}
    
    	BONUS:
    		fmt.Println("循环外的世界")
    		fmt.Println("送你海景别野一套")
    		fmt.Println("送你满汉全席一套")
    		fmt.Println("送你我厂生产的女朋友一个")
    
    	TRYAGAIN:
    		var answer string
    		fmt.Println("要不要再玩一次?Y/N")
    		fmt.Scan(&answer)
    		if answer == "N"{
    			goto GAMEOVER
    		}else if answer == "Y" {
    			goto STUDYHARD
    		}else if answer == "FUCKOFF"{
    			goto BONUS
    		}
    
    	GAMEOVER:
    		fmt.Println("GAMEOVER")
    }
    

    输出:

    开始努力奋斗
    努力奋斗了0小时
    努力奋斗了1小时
    努力奋斗了2小时
    努力奋斗了3小时
    努力奋斗了4小时
    努力奋斗了5小时
    努力奋斗了6小时
    努力奋斗了7小时
    努力奋斗了8小时
    努力奋斗了9小时
    努力奋斗了10小时
    恭喜获得组织颁发奖状
    要不要再玩一次?Y/N
    Y
    开始努力奋斗
    努力奋斗了0小时
    努力奋斗了1小时
    努力奋斗了2小时
    努力奋斗了3小时
    努力奋斗了4小时
    努力奋斗了5小时
    努力奋斗了6小时
    努力奋斗了7小时
    努力奋斗了8小时
    努力奋斗了9小时
    努力奋斗了10小时
    恭喜获得组织颁发奖状
    要不要再玩一次?Y/N
    FUCKOFF
    循环外的世界
    送你海景别野一套
    送你满汉全席一套
    送你我厂生产的女朋友一个
    要不要再玩一次?Y/N
    N
    GAMEOVER
    

      

  • 相关阅读:
    Vue前端工程化
    Vue前端路由
    Vue前后端路由
    Vue组件化开发
    Vue基础
    订单列表和数据列表(七)
    商品列表和添加商品(六)
    商品分类管理和参数管理(五)
    给独立搭建的博客启用https的过程
    使用Gitalk实现静态页面评论的功能
  • 原文地址:https://www.cnblogs.com/yunweiqiang/p/11787746.html
Copyright © 2020-2023  润新知