相关文章推荐
爱运动的奔马  ·  next.js url参数 - ...·  1 年前    · 
行走的烤红薯  ·  node.js - Why would ...·  1 年前    · 
难过的沙发  ·  Wifi BSSID获取 - 掘金·  1 年前    · 
不羁的山羊  ·  SpringCloud gateway ...·  1 年前    · 
val r=v1 match { case v1 if 1 until 5 contains v1=> "1-5" case v1 if 5 until 10 contains v1=> "5-10" case _=> "not found" println(r) //1-5

变形语法:

val v1=3
    val r=v1 match  {
      case v1 if (v1>0 && v1<=5) => "1-5"
      case v1 if (v1>5 && v1<=10)=> "5-10"
      case _=> "not found"
    println(r)

例子四多值匹配:

def glob(x:Any):Any= x match {
    case   1 | "1" | "one"  => "one "
    case "two"=> 2
    case s:String => "String"
    case y:Int=>"Int 类型 "
    case _ => "其他"
    println(glob(4))//Int 类型

例子五正则多值匹配:

val Pattern1="(quest_.*)".r
  val Pattern2="(kp_max_.*)".r
  val Pattern3="(ukq_.*)".r
    * 根据提供的key返回value数据,屏蔽底层差异
    * @param key
  def get(key:String):Any= key match {
      case Pattern1(_) | Pattern2(_)  =>  r.get(key) //返回string
      case Pattern3(_) => r.lrange(key,0,29).get //返回list
      case _ => ""
    println(get("kp_max_1000168"))
    println(get("quest_494bdc1bd1c34cfa8064d8d38382659f"))
    println(get("ukq_1001_10034"))
    println(get("xfd"))

有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。 技术债不能欠,健康债更不能欠, 求道之路,与君同行。

scala中的case语法与java中的switch语法类似,但比switch更强大:例子一正则匹配:val Pattern="(s.*)".r val v1="spark"; val r=v1 match { case Pattern(v1)=> "begin s*" case "1"=> "1" case "2"=> "2" 如果在 scala 代码还在使用ids!=null,可能会被有的人嘲笑,都什么年代了,竟然还有这样的写法,NullPointerException见少了吧? 不过,据统计: Spark 源代码使用了 821 次 Option 关键字,但它也直接在像if (ids != null)。 Spark 采用混合方式,大部分情况下使用 Option,但个别时候出于性能(这里主要是为了给使用这返回提示信息)原因才使用了null。 一个很好的习惯是当有方法返回值可能为null的时候,使用Option来代替。 什么是Op Match regular expression: 使用正则表达式 1、如果只勾选 Match case ,搜索关键字必须输入"Digit_Count"才能找到 "Digit_Count"。 2、如果只勾选 Match w...
Scala 提供的 match case 匹配模式类似于Java 的switch case : 1. match case 能够处理所有的类型 2. match case 不需要break,java 的swith case 如果没有break称为贯穿现象 3. match case 能够生成值 下面介绍几种常用的 match case 匹配模式: 1.基础 语法 : def abc(x:Int)= { x match { //x为方法传入的参数,即变量 case 1 => x + 10
Scala 提供了比java,c更加强大的switch语句—— match ,而且不用担心因为忘记写break语句而发生 case 穿透 1.更好的switch 与if,类似 match 也是表达式,如下一个用于匹配字符的函数def char Match (c: Char) = c match { case '+' => 1 case '-' => -1
了解java小伙伴的同学应该都知道在java 有switch... case 语句,根据不同的值(switch(i))得到不同的结果( case 是常量表达式),每个 case 字句后面可以有break结尾,最后一句default可有可无; 对于 Scala 我们提供了更加强大的模式匹配 match case , Scala match case 与Java的switch case 最大的不同点在于,Jav...
Scala match 表达式类似于其他语言 的switch语句,它可以提供给你在多个备选项 做选择。基本上 match 表达式可以让你使用任意的模式(pattern)做选择。 1. 按值匹配 def value Match (fruit: String) { fruit match { case "apple" => print("apple") case "b...
简介cala 提供了强大的模式匹配机制,应用也非常广泛。 一个模式匹配包含了一系列备选项,每个都开始于关键字 case 。每个备选项都包含了一个模式及一到多个表达式。箭头符号 => 隔开了模式和表达式。以下是一个简单的整型值模式匹配实例:def match Test(x: Int): String = x match { case 1 => "one" case 2 => "two"