Scala--基础--模式匹配(match case)

基础语法:

变量 match{
    case value1 => 语句1    // 匹配到对应值执行的语句
    case value2 => 语句2
    case value3 if 条件 => 语句3    // 满足匹配且满足if语句执行此语句
    case value3 => 语句4
    case _ => 语句5    // 其它情况执行此语句
    // case 变量2 => 语句5    // 如不满足上述匹配则执行此语句并将进行匹配的值赋给变量2
}

 对类型进行模式匹配(异常处理案例)

import java.io._
def processException(e: Exception){
    e match{
        case e1: IllegalArgumentException => 语句1
        case e2: FileNotFoundException => 语句2
        case e3: IOException => 语句3
        case _: Exception => 语句4    // 其它异常
    }
}

对Array进行模式匹配

array match{
    case Array(value1) => 语句1    // Array只有一个值value1
    case Array(变量1,  变量2, 变量3) => 语句2    // Array含有三个元素执行此语句, 并将三个元素分别赋给三个变量
    case Array(value1, _*) => 语句3    // 匹配第一个元素为value1的Array, 当然若先匹配到上述情况则不会执行
    case _ => 语句4    // 匹配其它情况
}

 对List进行模式匹配

list match{
    case value1 :: Nil => 语句1    // 只包含一个value1
    case 变量1 :: 变量2 :: 变量3 :: Nil => 语句2    // 包含三个元素
    case value1 :: tail => 语句3    // 第一个元素为value1
    case _ => 语句4
}

case class与模式匹配

 

Option与模式匹配

变量 match{
    case Some(变量) => 语句1    // 变量有值
    case None => 语句2    // 变量为空
}

 

转载于:https://www.cnblogs.com/p---k/p/8583914.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值