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 

  • 相关阅读:
    三剑客之grep命令
    expect
    信号控制
    数组
    LaTex: Cetx +Winedit之文献引用---Elsevier模板
    vue系列--【animate.css、过滤器、组件基础】
    vue系列--【生命周期、侦听器watch、计算属性、jsonp解决跨域】
    vue系列--【动态样式、表单数据绑定、表单修饰符、事件处理、$set】
    vue系列--【vue核心、vue实例、指令】
    node系列--【socket.io框架】
  • 原文地址:https://www.cnblogs.com/saryli/p/11634472.html
Copyright © 2011-2022 走看看