博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Scala中的match(模式匹配)
阅读量:7210 次
发布时间:2019-06-29

本文共 1041 字,大约阅读时间需要 3 分钟。

hot3.png

/**

  • 模式匹配 */ case class Class1(param1: String, param2: String)

case class Class2(param1: String)

object Case { def main(args: Array[String]) { //通过模式匹配进行条件判断 val test1: String = "1" val result1 = test1 match { case "1" => { "one" } case "2" => "two" case _ => "other" } println(result1)

//通过模式匹配进行条件判断,可自定义条件val test2: Int = 1;val result2 = test2 match {  case i if i + 1 == 2 => "one"  case i if i + 1 == 3 => "tow"  case _ => "error"}println(result2)//通过模式匹配进行类型条件判断val t3 = 1println(Test3(t3))//通过模式匹配进行类型条件判断val t4 = "1"println(Test3((t4)))//通过模式匹配进行类的判断与执行val test5 = Class1("1", "2")ClassMatch(test5)val test6 = Class2("3")ClassMatch(test6)

}

def ClassMatch(classTest: Any): Unit = { classTest match { case Class1(param1, param2) => { println("Class1:" + param1 + "_" + param2) } case Class2(param1) => { println("Class2:" + param1) } case _ => println("error") } }

def Test3(data: Any): String = { data match { case x: Int => "Int" case x: String => "String" case _ => "unkown" } } }

转载于:https://my.oschina.net/runningwork/blog/1212705

你可能感兴趣的文章
2014.09线上课堂报名帖:敏捷个人手机应用使用
查看>>
C# 重启exe
查看>>
Web 服务器 之 简易WWW服务器的架设
查看>>
一种电子病历系统软件框架思想
查看>>
轻松破解NewzCrawler时间限制
查看>>
gDebugger 3.1.1 原版+破解
查看>>
C++ 对象的内存布局(上)
查看>>
在Outlook中用VBA导出HTML格式邮件
查看>>
搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门
查看>>
PHP——通过下拉列表选择时间(转)
查看>>
由1433端口入侵,浅谈sqlserver安全 (转)
查看>>
2个YUV视频拼接技术
查看>>
spring data实现自定义的repository实现类,实现跟jpa联通
查看>>
“惊群”,看看nginx是怎么解决它的
查看>>
Theano3.3-练习之逻辑回归
查看>>
利用RGB-D数据进行人体检测 带dataset
查看>>
live555的编译及使用
查看>>
C++builder XE 安装控件 及输出路径
查看>>
优点和阵列的缺点,并且一个链表
查看>>
CSS3透明属性opacity
查看>>