"案例是" 特定情况的一个例子; 发生事情的一个例子 '.
所以我的问题是 - 为什么Scala'case'类被命名为'case'?有什么意义?为什么它是"案例",而不是"数据"类或其他什么?什么意思是'案例'在那.. ..案例:)
case
关键字在其他语言中的主要用途是in- switch
statement,主要用于enum
s或类似的值,例如int
s或string
s用于表示不同明确定义的情况:
switch (value)
{
case 1: // do x -
case 2: // do y -
default: // optional
}
Run Code Online (Sandbox Code Playgroud)
在scala中,这些类通常表示抽象类的特定明确定义的可能实例,并且使用方式与命令式代码在match
-clauses中使用switch-statements的方式大致相同:
value match {
case Expr(lhs, rhs) => // do x
case Atomic(a) => // do y
case _ => // optional, but will throw exception if something cannot be matched whereas switch won't
}
Run Code Online (Sandbox Code Playgroud)
案例类的大部分行为,例如它们的构建方式,旨在促进/使其在这些陈述中的使用.