吾八哥学Golang(四):Golang里的流程控制-选择语句
选择语句顾名思义就是根据条件执行不同的逻辑的语句,和C++里一样,选择语句的关键字是switch和case,但和C++的不一样的是某个case后面不需要break就可以自动退出。看看如下例子:
package main
import "fmt"
func main() {
index := 2
switch index {
case 1:
fmt.Println("执行1")
case 2:
fmt.Println("执行2")
case 3, 4:
fmt.Println("执行3,4")
case 5:
fmt.Println("执行5")
default:
fmt.Println("默认情况")
}
}如上代码,执行的话返回结果为:“执行2”。如果index等于3则返回“执行3”,若index不等于1,2,3,4的情况下则执行default关键字对应的语句,返回“默认情况”。
在Golang里选择语句switch后面的表达式是可以不写的,条件可以放在在case后面,同时golang里有关键字fallthrough,意思是执行下一个case。看看如下的代码实例:
package main
import "fmt"
func main() {
index := 3
switch {
case index == 1:
fmt.Println("执行1")
case index == 2:
fmt.Println("执行2")
case index == 3:
fallthrough
case index == 4:
fmt.Println("执行4")
default:
fmt.Println("默认情况")
}
}上面的代码执行结果为:“执行4”。
swich后面的表达式支持字符类型,如下:
package main
import "fmt"
func main() {
s := "test"
switch s {
case "a":
fmt.Println("执行a")
case "b":
fmt.Println("执行b")
case "c":
fmt.Println("执行c")
default:
fmt.Println("默认情况")
}
}简单总结下:
case后无需break就可以退出case,若要执行下一个case则使用关键字fallthrough
switch后面的表达式是可以不写,条件可以在case后面
switch后面的表达式可以是常量,整型,字符串等类型