Golangswitch语句总结
switch 语句基本结构
switch 条件表达式 {
case 常量表达式1:
语句 1
case 常量表达式2:
语句 2
.
.
.
case 常量表达式n:
语句 n
default:
语句 n+1
}
执⾏流程
(1)计算条件表达式的值value
(2)如果value满⾜某条case语句,则执⾏该语句,执⾏完跳出switch语句
(3)如果value不满⾜所有的case语句:
(3.1)如果有default,则执⾏该语句,执⾏完跳出switch语句
(3.2)如果没有default,则直接跳出switch语句
注意事项
java switch case string
(1)条件表达式可以是任意Go语⾔⽀持的数据类型
(3)不需要break语句
(4)default分⽀为可选项,但最多只能有⼀个default分⽀
(5)如果有两个以上的case分⽀的常量表达式取得相同的值,则编译会出错
多case语句
有时在⼀条case语句中可以对多个条件值进⾏测试,任意⼀个条件满⾜都会执⾏case语句体
func main() {
var test string
fmt.Print("请输⼊⼀个字符串:")
fmt.Scan(&test)
switch test {
case "c":
fmt.Println("c")
case "java":
fmt.Println("java")
case "go", "golang":
fmt.Println("hello golang")
default:
fmt.Println("python")
}
}
// 请输⼊⼀个字符串:go
/
/ hello golang
// 请输⼊⼀个字符串:golang
// hello golang
fallthrough语句
通常情况下,switch语句检测到符合条件的第⼀个case语句,就会执⾏该分⽀的代码,执⾏完会直接跳出switch语句。使⽤fallthrough语句,可以在执⾏完该case语句后,不跳出,继续执⾏下⼀个case语句。
func main() {
var test string
fmt.Print("请输⼊⼀个字符串:")
fmt.Scan(&test)
switch test {
case "go":
fmt.Println("hello go")
case "golang":
fmt.Println("hello golang")
fallthrough
case "gopher":
fmt.Println("hello gopher")
case "java":
fmt.Println("java")
}
}
/
/ 请输⼊⼀个字符串:go
// hello go
// 请输⼊⼀个字符串:golang
// hello golang
// hello gopher
⽆条件表达式switch语句
如果switch关键字后⾯没有条件表达式,则必须在case语句中进⾏条件判断,即类似于if else if语句
func main() {
var score int
fmt.Print("请输⼊成绩:")
fmt.Scan(&score)
switch {
case score >= 90:
fmt.Println("good")
case score >= 80 && score < 90:
fmt.Println("well")
case score < 80:
fmt.Println("ok")
}
}
// 请输⼊成绩:60
// ok
/
/ 请输⼊成绩:85
// well
⼩结
平时写Go语⾔很少⽤到switch语句,有时候突然⽤到,⼀些细节可能⼜忘了,所以写⼀篇博客总结⼀下。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。