34.scala编程思想笔记——基于类型的模式匹配
来源:互联网 发布:数据库第六章课后答案 编辑:程序博客网 时间:2024/05/22 14:56
34.scala编程思想笔记——基于类型的模式匹配
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50445784
源码下载连接请见第一篇笔记。
可以基于值的模式匹配,还可以按照值的类型来匹配。
例如:
import com.atomicscala.AtomicTest._
def acceptAnything(x:Any):String = {
x match {
cases:String => "A String: " + s
case i:Intif(i < 20) =>
s"AnInt Less than 20: $i"
case i:Int=> s"Some Other Int: $i"
casep:Person => s"A person ${p.name}"
case _=> "I don't know what that is!"
}
}
acceptAnything(5) is
"An IntLess than 20: 5"
acceptAnything(25) is "Some Other Int: 25"
acceptAnything("Some text") is
"A String: Some text"
case class Person(name:String)
val bob = Person("Bob")
acceptAnything(bob) is "A person Bob"
acceptAnything(Vector(1, 2, 5)) is
"I don't know what that is!"
执行如下:
An Int Less than 20: 5
Some Other Int: 25
A String: Some text
A person Bob
I don't know what that is!
其中acceptAnything的参数类型Any.
Any 允许任何类型的参数。
Match表达式会查找String,Int或我们自己的类型Person.
注意下划线作用是通配符,用来匹配任何值都不匹配的对象。
- 34.scala编程思想笔记——基于类型的模式匹配
- 35.scala编程思想笔记——基于case类的模式匹配
- 22.scala编程思想笔记——模式匹配
- 64.scala编程思想笔记——使用元组的模式匹配
- 30.scala编程思想笔记——参数化类型
- 56.scala编程思想笔记——类型参数限制
- 74.scala编程思想笔记——使用类型类
- 2.scala编程思想笔记——运行Scala
- scala 的模式匹配与类型系统
- 3.scala编程思想笔记——编写脚本
- 4.scala编程思想笔记——值
- 5.scala编程思想笔记——数据类型
- 6.scala编程思想笔记——变量
- 7.scala编程思想笔记——表达式
- 8.scala编程思想笔记——条件表达式
- 9.scala编程思想笔记——计算顺序
- 10.scala编程思想笔记——组合表达式
- 11.scala编程思想笔记——方法
- online_judge_1156
- 32.scala编程思想笔记——map和reduce
- online_judge_1157
- CentOS下安装PYTHON
- 33.scala编程思想笔记——推导
- 34.scala编程思想笔记——基于类型的模式匹配
- Linux下安装redis
- 35.scala编程思想笔记——基于case类的模式匹配
- 用正则匹配出一段文章中的img标签
- 36.scala编程思想笔记——简洁性
- 使用spark访问elasticsearch的数据
- Python安装easy_install报错的处理方式
- apache使用fastcgi配置python和php
- 37.scala编程思想笔记——风格拾遗