当前位置: 首页>>编程示例 >>用法及示例精选 >>正文


Scala annotation.switch用法及代码示例

用法:

final class switch extends StaticAnnotation

要应用于匹配表达式的注释。如果存在,编译器将验证匹配是否已编译为 tableswitch or lookupswitch,如果它编译为一系列条件表达式,则会发出警告。示例用法:

val Constant = 'Q'
def tokenMe(ch: Char) = (ch: @switch) match {
  case ' ' | '\t' | '\n'  => 1
  case 'A' | 'Z' | '$'    => 2
  case '5' | Constant     => 3  // a non-literal may prevent switch generation: this would not compile
  case _                  => 4
}

注意:对于一种或两种情况的模式匹配,编译器会生成跳转指令。用@switch 注释这样的匹配不会发出任何警告。

源码:

switch.scala

相关用法


注:本文由纯净天空筛选整理自scala-lang.org大神的英文原创作品 annotation.switch。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。