Go语言学习指南:惯例模式与编程实践
上QQ阅读APP看书,第一时间看更新

4.5 默认的switch语句

还有另一种更强大的方式来使用switch语句。正如Go允许你省去for语句的部分声明一样,你可以写一个switch语句不指定比较的值。这叫作默认的switch。常规的switch只允许你检查一个值是否相等。默认的switch允许对每个case语句使用比较操作。在The Go Playground(https://oreil.ly/v7qI5)上运行示例4-21中的代码。

示例4-21:默认的switch

输出如下所示:

上面的例子和常规的switch语句类似,可以包括一个短变量声明作为默认的switch语句的一部分。但与常规的switch语句不同的是,默认的switch允许自定义case分支的判断。默认的switch确实很简便,但是不要过度滥用。当所有case分支的等值比较都针对同一个变量时,就是使用默认的switch的最佳场景:

可以使用switch语句表达式替换判断: