scala的模式匹配swtich case++

在 Scala 中,match - case结构类似于其他语言中的switch - case,但功能更强大。它用于对一个值进行模式匹配,根据值的不同模式执行不同的代码块。

基本语法:

Scala 复制代码
value match {
    case pattern1 => result1
    case pattern2 => result2
    case _ => defaultResult
}

这里的value是要进行模式匹配的值,pattern1pattern2等是不同的模式,result1result2等是当值匹配相应模式时返回的结果,最后的_是一个通配符模式,用于匹配前面没有匹配到的所有情况,类似于switch语句中的default分支。

Scala 复制代码
package test33

object test {
  def main(args: Array[String]): Unit = {
    val id = "429005202023210042"
//    val id = "119005202023210042"
//    val id = "339005202023210042"
//    val id = "339005202023210042"
    val pre =id.substring(0,2).toInt
    //如果是 42,输出 湖北
    //如果是 11,输出 北京
    //如果是 31,输出 上海
    //否则,就输出其他
    pre match{
      case 42 =>println("湖北")
      case 11 =>println("北京")
      case 31 =>println("上海")
      case _ =>println("其他")
    }
    //细节1:case_的位置  一定要放到最后面
    //细节2:case_       如果没有正确的匹配项就会报错
//    val m1 = Map((11, "北京"), (42, "湖北"), (31, "上海")) {
//      println(s"籍贯是${m1.get(pre)}")

//    if(pre ==42){
//      println("湖北")
//    }else if(pre==11){
//      println("北京")
//    }else if(pre ==31){
//      println("上海")
//    }
  }

}
相关推荐
嘻哈baby7 分钟前
Go 函数中的参数为什么不支持默认值?
java·开发语言·jvm
一晌小贪欢13 分钟前
python-第29天:Python面向对象之多态与抽象类
开发语言·python·数据可视化·面向对象·python办公·python多态
摇滚侠17 分钟前
《SpringBoot 3:入门与应用实战》第 14 章 打包与部署 Spring Boot 应用打包 阅读笔记 41
spring boot·笔记·后端
Chester_199920 分钟前
CSP202312C.树上搜索
开发语言·数据结构·c++·蓝桥杯·stl
Figo_Cheung31 分钟前
Figo共振网络宇宙演化论(RNC) :从原初对称破缺到全息大和谐的演化路径研究
开发语言·php·量子计算
重生之我来学Python37 分钟前
Git-SVN 混合开发,从入门到精通!
开发语言·git·svn·github
CoderYanger41 分钟前
前端基础——JavaScript(基础语法)(下篇)
java·开发语言·前端·javascript·程序人生·面试·职场和发展
京师20万禁军教头1 小时前
39面向对象(高级)-设计模式
java·开发语言·设计模式
白山编程大哥1 小时前
Java 迭代器接口详解:从 Iterator 到 ListIterator 的完整指南
java·开发语言·windows
见叶之秋1 小时前
【C++】String类的使用(含模拟实现)
java·开发语言·c++