首页后端开发其他后端知识Go语言中switch条件语句用法是什么,有什么应用

Go语言中switch条件语句用法是什么,有什么应用

时间2024-03-26 20:14:03发布访客分类其他后端知识浏览494
导读:这篇文章主要给大家介绍“Go语言中switch条件语句用法是什么,有什么应用”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“Go语言中switch条件语句用法是什么,有什么...
这篇文章主要给大家介绍“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条件语句用法是什么,有什么应用已经有了进一步的了解。大家如果还想学习更多知识,欢迎关注网络,小编将为大家输出更多高质量的实用文章!

    声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


    若转载请注明出处: Go语言中switch条件语句用法是什么,有什么应用
    本文地址: https://pptw.com/jishu/653732.html
    微信小程序loading组件的用法是怎样 Go语言下实现的简易api网关的方法和代码是什么?

    游客 回复需填写必要信息