package test_34 object test1 { def main(args: Array[String]): Unit = { //身份证号 // val id = "421181200408088237" val id = "331181200408088237" //截取前两位 val pre = id.substring(0,2).toInt pre match { case 42 => println("湖北") case 11 => println("北京") case 31 => ...
在Scala中,case类字段的最大数量是22个。这是由于Scala编译器的限制,它会自动生成一些辅助方法和代码来支持case类的模式匹配和其他功能。这个限制是为了保持编译器和运行时的性能和效率。 ...
val arr = Array[Any](1, "hello", 9) arr match { //匹配当前数组有4个元素 case Array(x, y, z, e) => println(s"${x} $y $z $e") //匹配数组以0开头 case Array(0, _*) => println("数组以0开头,元素的个数>=1") //匹配元素的类型 case Array(x: Int, y: String, z: ...
//样本类case class//层级包括一个抽象基类Expr和四个子类,每个代表一种表达式//样本类自动添加与类名一致的工厂方法abstractclassExprcaseclassVar(name:String)extendsExpr//括号内参数不用加val,默认为加val的字段caseclassNumber(num:Double)extendsExprcaseclassUnOp(operator: String, arg: Expr)extendsExprcasecla...
Scala是没有Java中的switch case语法的,相对应地,scala提供了更加强大的match case 语法,即模式piper,类替代switch case,match case也被称为模式匹配。 Scala的matach case与Java的switch case最大的不同点在于,java的switch case仅能匹配变量的值,比如1,2,3等;而scala的match case可以匹配各种情况,比如变量的类型...
package test_34 object test2 { def main(args: Array[String]): Unit = { //从数据库中获得数据 1,2,3,4 //要显示给用户的是 一等,二等,三等,四等 val level = 3 val levelTxt = level match { case 1 => …
一、match语句 1)可以根据关键词(或者说匹配特定的常量)去匹配相应的结果 importscala.io.StdIn._println("Please input the score: ")val grade=readChar()grade match{case'A'=>println("85-100")case'B'=>println("70-84")case'C'=>println("60-69")case''=>println("<60")case_=>println("erro...
六:模式匹配 match case 模式匹配一种特殊的方法,在方法签名和方法体之间使用match关键字,在方法体内可以使用case关键字来匹配任意情况,类似于Java中的switch case吧,只不过Scala中的match case 和方法的定义融合在一块了, 只不过case的情况更多(Swift也支持复杂匹配,这种语法在现代编程语言中不算什么稀奇了),只是一...
scala中的case语法与java中的switch语法类似,但比switch更强大:例子一正则匹配: val Pattern="(s.*)".r val v1="spark"; val r=v1 match { case Pattern(v1)=> "begin s*"...
5. 模式匹配(Match表达式) Scala中的模式匹配可以看作是一种更强大和灵活的条件语句。它允许对一个值进行模式匹配,从而执行相应的代码块。 val day = "Monday"day match {case "Monday" => println("星期一")case "Tuesday" | "Wednesday" => println("星期二或星期三")case _ => println("其他")} ...