使用字符串 Switch 的 Golang 程序
在 Golang 中,Switch 语句可以方便地进行多条件判断,常用于对变量进行判断。在本文中,我们将介绍如何使用字符串 Switch 来进行判断。
什么是字符串 Switch
字符串 Switch 是 Golang 中 Switch 语句的一种形式,用于对字符串类型的变量进行判断。相比于传统的 if-else 语句,在处理多个字符串类型的判断时,使用字符串 Switch 语句可以让代码更加简洁易读。
如何使用字符串 Switch
在 Golang 中,字符串 Switch 的语法和普通 Switch 语句非常相似,区别在于 case 后面跟的是字符串类型的值。下面是一个示例代码:
package main
import "fmt"
func main() {
var fruit string = "apple"
switch fruit {
case "apple":
fmt.Println("This is an apple.")
case "banana":
fmt.Println("This is a banana.")
case "orange":
fmt.Println("This is an orange.")
default:
fmt.Println("I don't know what fruit it is.")
}
}
在上面的示例代码中,变量 fruit 的值为“apple”,则程序输出“This is an apple.”。如果 fruit 的值为其他字符串,则会依次判断每个 case 对应的字符串。
可以看到,字符串 Switch 语句的结构和普通 Switch 语句非常相似,主要区别在于 case 后面跟的是字符串类型的值。多个 case 之间以逗号隔开,最后一个 case 可以省略逗号。
另外需要注意的是,Switch 语句中的每个 case 语句都不需要加上 break 语句,因为 Golang 中的 Switch 语句默认是带有隐式的 break 的。
字符串 Switch 的高级用法
除了简单的字符串判断之外,我们还可以在 case 中使用表达式、函数等高级用法。下面是一个示例代码:
package main
import (
"fmt"
"strings"
)
func main() {
var fruit string = "apple"
var color string = "red"
switch {
case strings.Contains(fruit, "apple"):
fmt.Println("This is an apple.")
case color == "yellow":
fmt.Println("This is a yellow fruit.")
default:
fmt.Println("I don't know what fruit it is.")
}
}
在上面的示例代码中,我们在 case 中使用了 strings.Contains 函数来判断 fruit 中是否包含字符串“apple”。另外,我们还使用了一个没有条件的 case 语句来作为 default 分支,表示没有匹配的条件。
除此之外,我们还可以在 case 中使用任意表达式,如下所示:
package main
import (
"fmt"
"time"
)
func main() {
var hour int = time.Now().Hour()
switch {
case hour >= 6 && hour < 12:
fmt.Println("Good morning!")
case hour >= 12 && hour < 18:
fmt.Println("Good afternoon!")
case hour >= 18 && hour < 24:
fmt.Println("Good evening!")
default:
fmt.Println("Good night!")
}
}
在上面的示例代码中,我们在 case 中使用了表达式 hour >= 6 && hour < 12 来判断当前时间是否在早上。
结论
通过本篇文章,我们了解了如何使用字符串 Switch 来对字符串类型的变量进行判断。在日常开发中,我们可以使用 Switch 语句来替代传统的 if-else 语句来进行多条件判断,让代码更加简洁易读。同时,我们还介绍了字符串 Switch 的一些高级用法,如使用表达式、函数等来进行判断。