Scala 中case模式匹配

本文介绍了Scala中的六种模式匹配技巧:简单匹配、类型匹配、守卫语句、for表达式、case类和Option类型,展示了如何在实际编程中灵活运用这些特性来处理不同数据类型和场景。

1. 简单匹配

object Test{
  def main(args: Array[String]): Unit = {
    val sex = -1
    val res = sex match {
      case 1 => "man"
      case 2 => "women"
//      case _ => "Not Allowed!" // other
      case unexcepted => unexcepted + " is Not Allowed!"
    }
    println(res)
  }
}
//-1 is Not Allowed!

或
val sex = -1
sex match {
  case 1 => println("man")
  case 2 => println("women")
  case _ => println(sex + " is Not Allowed!")
}

2. 类型匹配

object Test{
  def main(args: Array[String]): Unit = {
    for(e <- List(9, 12.3, "spark", "hadoop", 'Hello)){
      val res = e match {
        case _: Int => e + " is a int value."
        case _: Double => e + " is a double value."
        case "spark" => e
        case _: String => e + " is a string value."
        case _ => e + " is unknown."
      }
      println(res)
    }
  }
}
// 9 is a int value.
// 12.3 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值