Scala中的match(模式匹配)】的更多相关文章

文章来自:http://www.cnblogs.com/hark0623/p/4196261.html   转载请注明 代码如下: /** * 模式匹配 */ case class Class1(param1: String, param2: String) case class Class2(param1: String) object Case { def main(args: Array[String]) { //通过模式匹配进行条件判断 val test1: String = "1&qu…
一.前述 Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大. 模式匹配机制相当于java中的switch-case. 使用了case关键字的类定义就是样例类(case classes),样例类是种特殊的类. Actor相当于Java中的多线程. 二.具体阐述 trait特性 1.概念理解 Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大. 与接口不同的是,它还可以定义属性和方法的实现. 一般情况下Scala的类可以继承多个Tra…
所谓的内建控制结构是指编程语言中可以使用的一些代码控制语法,如Scala中的if, while, for, try, match, 以及函数调用等.需要注意的是,Scala几乎所有的内建控制结构都会返回一个值,这是由于函数式编程语言被认为是计算值的过程,所以作为函数式编程语言的一个组件,这些内建控制结构也不例外. 如果不好理解函数式编程语言中每一个内建控制结构都会返回一个值这一概念,可以回想一下? :表达式,这个表达式基本上能表明这一概念,作用和if表达式类似,但是会根据条件得到一个分支的值作为…
一.简介 Scala中的模式匹配类似Java中的switch语句,且更加稳健,本文就将针对Scala中模式匹配的一些基本实例进行介绍: 二.Scala中的模式匹配 2.1 基本格式 Scala中模式匹配的基本格式如下: data match { case ... => 执行语句 case ... => 执行语句 case _  => 执行语句 } 其中,data表示将要进行模式匹配的对象,match是模式匹配的关键字,后面紧跟的{}中包含若干条匹配的方向,且只会匹配其中满足条件的第一条:…
7.    模式匹配和样例类 Scala有一个十分强大的模式匹配机制,可以应用到很多场合:如switch语句.类型检查等.并且Scala还提供了样例类,对模式匹配进行了优化,可以快速进行匹配. 7.1.   匹配字符串 package cn.itcast.cases import scala.util.Random object CaseDemo01 extends App{   val arr = Array("hadoop", "zookeeper", &quo…
今天跟随王老师学习了从源码角度去分析scala中的模式匹配的功能.让我们看看源码中的这一段模式匹配: 从代码中我们可以看到,case RegisterWorker(id,workerHost,........){}这里为模式匹配,而我们的模式匹配类RegisterWorker之前就已定义好,如下图: 我们可以看到,我们的模式匹配类是已经定义好的,当我们的master接收到worker发来的消息时,进行模式匹配: . 这里还有一个知识点,我们可以发现,当我们进行模式匹配时,我们并没有使用new方法…
从jvm来看,scala中的@究竟是个什么鬼? 我也是初步尝试来看jvm的类文件,又是初次来分析@,如不对的地方,请各位指正! 先看一下@ 是个什么? object TestScala { def main(args: Array[String]): Unit = { val b = Some() val a@Some() = Some() println(b) println(a) val bb = val aa@"IMF" = "IMF" println(bb)…
trait Base { val name: String } case class S( name: String, age: Int ) extends Base case class F( name: String, tel: Long ) extends Base case class Info[T <: Base]( b: T, time: String ) object Test extends App { override def main(String args): Unit =…
本章主要分析Scala中List的用法,List上可进行的操作,以及需要注意的地方. 一.List字面量 首先看几个List的示例. val fruit = List("apples", "oranges", "pears") val nums = List(1, 2, 3, 4) val diag3 = List( List(1, 0, 0), List(0, 1, 0), List(0, 0, 1) ) val empty = List()…
Scala中的模式匹配的功能可以应用到switch语句.类型检查.“解构”等多种场合. 简单匹配 Scala的模式匹配最常用于match语句中.Scala的match语句类似Java里的switch. 匹配实例: def color(num: Int): String = { val colorNum = num val colorStr = colorNum match { case 1 => "red" case 2 => "green" case…