Go 语言中switch case条件分支语句
1. 基本语法
package main
import "fmt"
func main() {var extname = ".css"switch extname {case ".html":fmt.Println("text/html")case ".css":fmt.Println("text/css") // text/csscase ".js":fmt.Println("text/javaScript")default:fmt.Println("找不到此后缀")}
}
2. 条件前可以写表达式
package main
import "fmt"
func main() {switch extname := ".html"; extname {case ".html":fmt.Println("text/html") // text/htmlcase ".css":fmt.Println("text/css")case ".js":fmt.Println("text/javascript")default:fmt.Println("找不到此后缀")}// 注意 extname 只能在switch语句中访问fmt.Println(extname) //undefined: extname
}
3. 一个分支可以有多个值
package main
import "fmt"
func main() {var score = "D" switch score {case "A", "B", "C":fmt.Println("及格")case "D":fmt.Println("不及格") // 不及格}
}
4. 分支可以写表达式
package main
import "fmt"
func main() {var age = 18switch {case age < 24:fmt.Println("好好学习") // 好好学习case age >= 24 && age <= 60:fmt.Println("好好赚钱")case age > 60:fmt.Println("注意身体")default:fmt.Println("输入错误")}
}
5. 条件穿透语句
在C语言中 switch 语句中必须添加 break,否则会进行条件穿透,而在Go 语言中的 switch 语句中不用添加 break,也不会产生条件穿透,但是如果需要条件穿透时可以加上 fallthrough。
package main
import "fmt"
func main() {var age = 30switch {case age < 24:fmt.Println("好好学习")case age >= 24 && age <= 60:fmt.Println("好好赚钱") // 好好赚钱fallthroughcase age > 60:fmt.Println("注意身体") // 注意身体default:fmt.Println("输入错误")}
}