• go基础——switch语法


    package main
    
    import "fmt"
    
    /*
    	switch语法结构:
    		switch 变量名 {
    		case 数值1:分支1
    		case 数值2:分支2
    		...
    		default:最后一个分支
    		}
    
    	注意事项:
    		1.switch可以作用在其他类型上,case后的数值必须和switch作用的变量类型一致
    		2.case是无序的
    		3.case后的数值是唯一的
    		4.default语句是可选操作
    */
    func main() {
    	num := 4
    	switch num {
    	case 1:
    		fmt.Println("一季度")
    	case 2:
    		fmt.Println("二季度")
    	case 3:
    		fmt.Println("三季度")
    	case 4:
    		fmt.Println("四季度")
    	default:
    		fmt.Println("数据有误")
    	}
    
    	f := true
    	switch f {
    	case true:
    		fmt.Println("对")
    	case false:
    		fmt.Println("错")
    	}
    
    	//特殊用法1:省略switch后面的变量,相当于直接作用在true上
    	switch {
    	case num == 1:
    		fmt.Println("一季度")
    	case num == 2:
    		fmt.Println("二季度")
    	case num == 3:
    		fmt.Println("三季度")
    	case num == 4:
    		fmt.Println("四季度")
    	default:
    		fmt.Println("数据错误")
    	}
    
    	//特殊用法2:case后可以同时跟随多个数值
    	num1 := 8
    	mod1 := num1 % 10
    	switch mod1 {
    	case 1, 3, 5, 7, 9:
    		fmt.Printf("%d单数
    ", num1)
    	case 0, 2, 4, 6, 8:
    		fmt.Printf("%d双数
    ", num1)
    	}
    
    	//特殊用法3:switch后可以加初始化语句,作用域在switch语句内
    	switch mod2 := num1 % 10; mod2 {
    	case 1, 3, 5, 7, 9:
    		fmt.Printf("%d单数
    ", num1)
    	case 0, 2, 4, 6, 8:
    		fmt.Printf("%d双数
    ", num1)
    	}
    
    	//switch中的break和fallthrough
    	switch n := 2; n {
    	case 1:
    		fmt.Println(n)
    		fmt.Println("1")
    	case 2:
    		fmt.Println(n)
    		break //跳出
    		fmt.Println("2")
    	}
    
    	switch m := 1; m {
    	case 1:
    		fmt.Println(1)
    		fallthrough //无需匹配,继续执行下一个case语句
    	case 2:
    		fmt.Println(2)
    	}
    }
    

    四季度

    四季度
    8双数
    8双数
    2
    1
    2

  • 相关阅读:
    Mvc请求管道中的19个事件
    asp.net 验证正则表达式
    Asp.net MVC进入请求管道的过程
    MVC(二)
    Aspect Oriented Programming (AOP)
    在C#中??和?分别是什么意思?
    MVC(一)
    ASP.NET 管道事件与HttpModule, HttpHandler简单理解
    Entity Framework && Lambda
    扩展类和扩展方法
  • 原文地址:https://www.cnblogs.com/maxgongzuo/p/15414648.html
Copyright © 2020-2023  润新知