GoLang中的switch

a :=2
//switch后面不写判断条件,则执行case的表达式
fmt.Println(“switch test 1 ===>”)
switch {
case a>= 0 :
fmt.Println(“a>=0”)
fallthrough //表示继续往下执行,否则满足条件了,条件就会中断,不会执行第二个case
case a>= 1 :
fmt.Println(“a>=1”)
case a>=2 :
fmt.Println(“a>=2”)
default:
fmt.Println(“default”)
}
fmt.Println(“switch test 2 ===>”)
switch a {
case 0 :
fmt.Println(“a>=0”)
fallthrough //表示继续往下执行,否则满足条件了,条件就会中断,不会执行第二个case
case 1 :
fmt.Println(“a>=1”)
case 2 :
fmt.Println(“a>=2”)
default:
fmt.Println(“default”)
}

//switch后面可以申明函数,作用域仅在switch块中
fmt.Println(“switch test 3 ===>”)
switch b := 1 ; {
case b>= 0 :
fmt.Println(“1:a>=”,b)
fallthrough //表示继续往下执行,否则满足条件了,条件就会中断,不会执行第二个case
case b>= 1 :
fmt.Println(“2:a>=”,b)
case b>= 2 :
fmt.Println(“3:a>=”,b)
default:
fmt.Println(“default”,b)
}