首页 > 其他分享 >Scala 的模式匹配-基础使用

Scala 的模式匹配-基础使用

时间:2024-12-04 14:33:40浏览次数:10  
标签:case val Scala 基础 元组 println id 模式匹配 d1

模式匹配:swtich++  ,   case++

先从一个简单的任务开始说起:

     我们今天接到一个开发任务,就是根据身份证号码,输入这个人的籍贯。列如:42 表示湖北,33表示浙江,11表示北京,31表示上海。

  def main(args: Array[String]): Unit = {
    //身份证
    val id="429005202023210042"
//    val id="319005202023210042"
//    val id="119005202023210042"
//    val id="339005202023210042"
    //截取前两位
    val pre=id.substring(0,2).toInt
    pre match {
      case 42=>println("湖北")
      case 11=>println("北京")
      case 31=>println("上海")
      case _=>println("其他")
    }
    // 细节1: case _ 的位置 一定要放在最后
    // 细节2: case _ 不写,如果没有正确的匹配项,报错!
  //如果是42,输出 湖北
  //如果是11,输出 北京
  //如果是31,输出 上海
  //否则,输出 其他
  }

 从数据库中获得数据1,2,3,4

要显示给用户的是      一等,二等,三等,四等

  def main(args: Array[String]): Unit = {
    //从数据库中获得数据1,2,3,4
    //要显示给用户的是      一等,二等,三等,四等
    val level=1
    val levelTxt=level match {
      case 1=>"一等"
      case 2=>"二等"
      case 3=>"三等"
      case 4=>"四等"
      case _=>"未知"
    }
    println(s"levelText: ${levelTxt}")
  }
match case 匹配元组
能根据元组元素的个数来匹配,不是一一精确的匹配值
  def main(args: Array[String]): Unit = {
//    val d1=(1,2,3)
    val d1=(1,2,3,4)
    //val d1=(1,2,3,4,5)
    val d: Any =d1   // d的类型是Any

    d match {
      case (x,y,z)=>println(s"这是一个有三个元素的元组,它的第二个元素是:${y}")
      case (x,y,z,k)=>println(s"这是一个有四个元素的元组,它的最后一个元素是:${k}")
      case _ =>println("未知类型")
    }

标签:case,val,Scala,基础,元组,println,id,模式匹配,d1
From: https://blog.csdn.net/2401_87129058/article/details/144187650

相关文章

  • SQL-基础语法-查询-别名
    别名是为数据表的列或查询结果中的字段取一个临时的、可读性更高的名字,使得查询结果更加直观和易读。让我们用一个形象的比喻来理解"别名":假设你是一名团队领导,你的团队有很多成员,每个成员都有自己的名字。为了更好地管理团队,你决定给每个成员都取一个昵称,让团队的交流更加便捷......
  • SQL-基础语法-全表查询
    SQL(StructuredQueryLanguage)是一种用于管理、操作和查询数据库的标准化语言,被广泛应用于各种类型的数据库,如MySQL、PostgreSQL、Oracle、MicrosoftSQLServer等。示例让我们假设有一张名为student的数据表,它存储了学生的信息,包括学号、姓名、年龄等。现在,我们来使用......
  • C语言基础知识:指针(4)
        本期内容,将继续介绍C语言中的指针,带大家理解一些指针变量的特点,以及二位数组传参的本质和转移表的相关知识。    一.字符指针变量      之前我们介绍过一种指针类型为字符指针:char*。它可以存放字符的地址,解引用字符指针就能得到这个字符: ......
  • 总结9大常见Web漏洞,网安小白零基础入门到精通看这一篇就够了!
    0x01前言Web漏洞通常是指网站程序上的漏洞,可能是由于代码编写者在编写代码时考虑不周全等原因而造成的漏洞。是Web安全的核心内容。本文简单总结了几个常见的Web漏洞。0x02SQL注入漏洞SQL注入漏洞是指攻击者通过把恶意的SQL语句插入到网站的输入参数中,来绕过网站的......
  • 网络安全入门教程(非常详细)从零基础入门到精通_网路安全 教程
     前言1.入行网络安全这是一条坚持的道路,三分钟的热情可以放弃往下看了。2.多练多想,不要离开了教程什么都不会了,最好看完教程自己独立完成技术方面的开发。3.有时多百度,我们往往都遇不到好心的大神,谁会无聊天天给你做解答。4.遇到实在搞不懂的,可以先放放,以后再来解决。→【......
  • 来学习typescript 吧! --2基础类型(any、unknown )
    一、nodejs环境执行ts1、安装类型定义包(只在开发和测试阶段被使用,而在生产环境中不会被包含)npmi@types/node--save-dev 2、安装TypeScript执行器--允许你直接运行TypeScript文件npmits-node--g 二、any类型--toptype1.没有强制限定哪种类型,随时切......
  • 黑客技术零基础入门怎么学(黑客初级入门)收藏这篇就够了
    本篇文章给大家谈谈黑客技术零基础入门怎么学,以及黑客初级入门对应的知识点,希望对各位有所帮助。本文目录一览:1、黑客零基础入门2、怎样自学黑客技术?3、学习黑客需要先学习什么基础?(零基础)4、如何自学成为一名黑客?5、黑客需要学什么?黑客零基础入门对于零基础的朋友第......
  • 来学习typescript 吧! --1基础类型(string、number、 boolean、void 、Null、undefined
    TS是JS的超集,所以js基础的类型都包含在内基础类型:Boolean、Number、String、null、undefined以及ES6的Symbol和ES10的BigInt一、安装和使用ts:1、npminstalltypescript-g//全局安装typescript2、tsc--init//生成tsconfig.json文件3、tscindex.ts//编译ts文......
  • PHP基础语法
    PHP脚本在服务器上执行,然后将纯HTML结果发送回浏览器。基本的PHP语法PHP脚本可以放在文档中的任何位置。PHP脚本以<?php开始,以?>结束:<?php//PHP代码?>PHP文件的默认文件扩展名是.php。PHP文件通常包含HTML标签和一些PHP脚本代码。下面,我们提供了......
  • 程序初学者推荐学习的三种热门编程语言,从零基础到精通,收藏这篇就够了!
    在当今的社会需求下,市场上最常见、最受欢迎、最广泛应用的编程语言主要有三种:C语言、Java语言和Python语言。既然要做出选择,我们就需要明白这三种编程语言各自有何特点和区别。0****1从开发难度而言C语言以其简洁性而被认为是初学者友好的编程语言,易于理解。然而,要达到......