Scala 中 Match 表达式的使用与模式匹配
1. 使用 @switch 注解的 Match 表达式
在 Scala 里, @switch 注解能够让 match 表达式被优化成 tableswitch 或者 lookupswitch 指令。不过,要让 Scala 应用 tableswitch 优化,得满足下面这些条件:
1. 匹配的值必须是已知的整数。
2. 匹配的表达式必须“简单”,不能包含类型检查、 if 语句或者提取器。
3. 表达式的值必须在编译时就可用。
4. 至少要有两个以上的 case 语句。
下面是一个使用 @switch 注解的例子:
import scala.annotation.switch
class SwitchDemo {
val i = 1
val Two = 2
val x = (i: @switch) match {
case 1 => "One"
case Two => "Two"
case _ => "Other"
}
}
要是你用 scalac 编译这段代码,会看到一条警告信息:
$ scalac SwitchDemo.scala
SwitchDemo.scala:7
超级会员免费看
订阅专栏 解锁全文
80

被折叠的 条评论
为什么被折叠?



