scala的模式匹配swtich case++

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

基本语法:

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

这里的value是要进行模式匹配的值,pattern1、pattern2等是不同的模式,result1、result2等是当值匹配相应模式时返回的结果,最后的_是一个通配符模式,用于匹配前面没有匹配到的所有情况,类似于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("上海")
//    }
  }

}
相关推荐
明月_清风34 分钟前
Muse 登顶 App Store 第一,SDK 直接开源:AI Agent 开始进入下一个阶段
人工智能·后端
小师兄吃牛肉40 分钟前
C语言篇:宏
c语言·开发语言
郑同学的笔记1 小时前
【c++随笔28】strcmp 和 memcmp对比
开发语言·c++
言乐62 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
weixin_307779132 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
kakakahahahaha2 小时前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
朝朝辞暮i2 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
朝朝辞暮i2 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
笨笨饿2 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
YOLO数据集集合3 小时前
EvoAgent:面向PR研发治理的自进化Multi-Agent Harness系统
java·开发语言·目标检测·agent·自进化