zoukankan      html  css  js  c++  java
  • go ---switch语句

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    
    	var ar = [...]string{"A", "B", "D", "E"}
    
    	for _, content := range ar {
    		switch content {
    		case "A":
    			fmt.Println("AAA")
    		case "B", "C", "D":
    			fmt.Println("BBB")
    		default:
    			fmt.Println("CCC")
    		}
    
    	}
    
    }
    

      输出:

    AAA

    BBB

    BBB

    CCC

     使用fallthrough,来向下一个case语句转移流程控制权,

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    
    	var ar = [...]string{"A", "B", "D", "E"}
    
    	for _, content := range ar {
    		switch content {
    		case "A":
    			fallthrough
    		case "B", "C", "D":
    			fmt.Println("BBB")
    		default:
    			fmt.Println("CCC")
    		}
    
    	}
    
    }
    

      输出:

    BBB

    BBB

    BBB

    CCC

    类型switch语句:对类型进行判定,而不是值

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    
    	v := 11
    
    	switch i := interface{}(v).(type) {
    
    	case int, int8, int16, int32, int64:
    
    		fmt.Printf("A signed integer: %v. the type is :%T
    ", v, v)
    		fmt.Printf("A signed integer: %v. the type is :%T
    ", i, i)
    	case uint, uint8, uint16, uint32, uint64:
    
    		fmt.Printf("A unsigned integer: %v. the type is :%T
    ", v, v)
    		fmt.Printf("A unsigned integer: %v. the type is :%T
    ", i, i)
    
    	default:
    
    		fmt.Println("Unknown!")
    
    	}
    
    }
    

      输出:

    A signed integer: 11. the type is :int

    A signed integer: 11. the type is :int

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    
    	var v interface{}
    	v = "hi"
    
    	switch v.(type) {
    	case string:
    		fmt.Printf("The string is %v 
    ", v.(string))
    
    	case int, int8, int16, int32, int64:
    
    		fmt.Printf("A signed integer: %v. the type is :%T
    ", v, v)
    
    	case uint, uint8, uint16, uint32, uint64:
    
    		fmt.Printf("A unsigned integer: %v. the type is :%T
    ", v, v)
    
    	default:
    
    		fmt.Println("Unknown!")
    
    	}
    
    }
    

      输出:

    The string is hi 

  • 相关阅读:
    基本数据类型-(字符串_数字_列表_元组_字典_集合)基本数据类型-(字符串_数字_列表_元组_字典_集合)
    python列表基础操作
    Python字符串基本操作
    字符编码
    python基础-循环
    差分
    第一冲刺阶段(第四天)
    第一冲刺阶段(第三天)
    第一冲刺阶段(第二天)
    第一冲刺阶段(第一天)
  • 原文地址:https://www.cnblogs.com/saryli/p/11634472.html
Copyright © 2011-2022 走看看