zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    【转】XenServer的架构之Xenopsd组件架构与运行机制
    【转】XenServer架构之XAPI的调用流程
    关于JS面向对象、设计模式、以及继承的问题总结
    表格排序的具体案例(包括数字和汉字排序)
    call.apply.冒充对象继承
    ES6的学习之路(基础知识总结)
    ES6的基础知识总结
    JS预解释的总结
    函数执行的作用域问题
    JS中的闭包问题总结
  • 原文地址:https://www.cnblogs.com/maxgongzuo/p/15414648.html
Copyright © 2011-2022 走看看