您现在的位置是:群英 > 开发技术 > 编程语言
Go语言中switch条件语句用法是什么,有什么应用
Admin发表于 2022-07-04 17:29:46545 次浏览
这篇文章主要给大家介绍“Go语言中switch条件语句用法是什么,有什么应用”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“Go语言中switch条件语句用法是什么,有什么应用”文章能对大家有所帮助。

 



    概述

    • 传入条件的不同,会执行不同的语句
    • 每一个case分支都是唯一的,从上到下逐一测试,直到匹配为止。

    语法

    第一种【switch 带上表达式】

    switch 表达式 {
      case 表达式1,表达式2, ... :
         语句块1
      case 表达式3, 表达式4, ... :
         语名块2
      default:
         语句块
    }
    

    第二种【switch 不带表达式】

    switch {
      case 表达式1,表达式2, ... :
         语句块1
      case 表达式3, 表达式4, ... :
         语名块2
      default:
         语句块
    }
    

    第三种【switch 初始化,表达式】

    switch 初始化;表达式{
      case 表达式1,表达式2, ... :
         语句块1
      case 表达式3, 表达式4, ... :
         语名块2
      default:
         语句块
    }
    

    注意

    1. 各个case默认break
    2. 不break加 fallthrough
    3. panic 报错
    4. switch后可以没有表达式
    5. switch支持初始化语句,注意要用分号结束
    6. case后面的值是唯一的

    示例一【根据今天的日期打印今天星期几】

    func printWeekday() {
    	day := time.Now().Weekday()   //需要导入time
    	fmt.Printf("%s", "今天")
    	switch int(day) {
    	case 1:
    		fmt.Println("星期一")
    	case 2:
    		fmt.Println("星期二")
    	case 3:
    		fmt.Println("星期三")
    	case 4:
    		fmt.Println("星期四")
    	case 5:
    		fmt.Println("星期五")
    	case 6, 7:
    		fmt.Println("星期天")
    	}
    
    }
    

    示例二【根据分数打印A,B,C,D】

    func printScores() {
    	fmt.Println()
    	fmt.Println("根据分数打印A,B,C,D")
    	scores := 0
    	fmt.Println("请输入分数")
    	fmt.Scanf("%d", &scores)
    	fmt.Printf("分数等级:")
    	switch {
    	case scores > 90:
    		fmt.Println("A")
    	case scores > 80, scores > 70:
    		fmt.Println("B")
    	case scores > 60:
    		fmt.Println("c")
    	case scores >= 10:
    		fmt.Println("D")
    	default:
    		fmt.Println("你有分数吗")
    	}
    }
    

    示例三【算数】

    func printEval() {
    	fmt.Println()
    	fmt.Println("三、算数")
    	var num1, num2 int
    	fmt.Println("请输入第一个数:")
    	fmt.Scan(&num1)
    	fmt.Println("请输入第二个数:")
    	fmt.Scan(&num2)
    	var op string
    	fmt.Println("请输入符号[+ - * /] ")
    	fmt.Scan(&op)
    	fmt.Printf("%d%s%d=%d", num1,op, num2, eval(num1, num2, op))
    }
    func eval(a, b int, op string) int {
    	var result int
    	switch op {
    	case "+":
    		result = a + b
    	case "-":
    		result = a - b
    	case "*":
    		result = a * b
    	case "/":
    		result = a / b
    	default:
    		panic("unsupported operator:" + op)
    	}
    	return result
    }
    



    关于“Go语言中switch条件语句用法是什么,有什么应用”的内容就介绍到这,感谢各位的阅读,相信大家对Go语言中switch条件语句用法是什么,有什么应用已经有了进一步的了解。大家如果还想学习更多知识,欢迎关注群英网络,小编将为大家输出更多高质量的实用文章!

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

    标签: Go语言
    相关信息推荐
    2022-08-31 17:22:16 
    摘要:本篇文章给大家带来了关于javascript的相关知识,其中主要介绍了关于window对象常用方法的相关问题,包括了alert、confrim、prompt等等内容,下面一起来看一下,希望对大家有帮助。
    2022-05-06 16:15:43 
    摘要:Swoole高效跟传统的web开发有什么区别,除了传统的LAMP/LNMP同步开发模式,swoole的异步开发模式是怎么样的。本文带着大家来详细介绍一下。
    2022-07-30 17:23:50 
    摘要:split方法在JavaScript中用于把一个字符串分割成字符串数组,语法为“string.split(字符串或正则表达式,返回数组的最大长度)”;若不设置指定返回数组的长度,则整个字符串都会被分割,该方法的返回结果是一个字符串数组。
    云活动
    推荐内容
    热门关键词
    热门信息
    群英网络助力开启安全的云计算之旅
    立即注册,领取新人大礼包
    • 联系我们
    • 24小时售后:4006784567
    • 24小时TEL :0668-2555666
    • 售前咨询TEL:400-678-4567

    • 官方微信

      官方微信
    Copyright  ©  QY  Network  Company  Ltd. All  Rights  Reserved. 2003-2019  群英网络  版权所有   茂名市群英网络有限公司
    增值电信经营许可证 : B1.B2-20140078   粤ICP备09006778号
    免费拨打  400-678-4567
    免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
    微信公众号
    返回顶部
    返回顶部 返回顶部