|NO.Z.00045|——————————|BigDataEnd|——|Hadoop&Scala.V01|——|Scala.v01|模式匹配和样例类|模式匹配|
一、模式匹配
### --- 模式匹配
~~~ Scala没有Java中的switch case,它有一个更加强大的模式匹配机制,可以应用到很多场合。
~~~ Scala的模式匹配可以匹配各种情况,比如变量的类型、集合的元素、有值或无值。
~~~ 模式匹配的基本语法结构:变量 match { case 值 => 代码 }
~~~ 模式匹配match case中,只要有一个case分支满足并处理了,就不会继续判断下一个case分支了,
~~~ 不需要使用break语句。这点与Java不同,Java的switch case需要用break阻止。
~~~ 如果值为下划线,则代表不满足以上所有情况的时候如何处理。
~~~ 模式匹配match case最基本的应用,就是对变量的值进行模式匹配。
~~~ match是表达式,与if表达式一样,是有返回值的。
~~~ 除此之外,Scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配。
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
浙公网安备 33010602011771号