scala基础语法-match模式匹配
2015-01-04 11:09
387 查看
package org.xj.scala.spark
/**
* 模式匹配
*/
class Basic5 {
}
//样例类,不可变性,val定义,不建议var ||-->常用于模式匹配
/**
* case class(多用在匹模式匹配中)
* 构造器中的每一个类型都为val,不建议使用var
* 不用new就可以直接产生对象(为什么?apply方法)
*/
case class Book(name: String, author: String)
object Basic5 extends App {
val value = 3
val result = value match { //判断value值,返回值由下面判断结果确定
case 1 => "one"
case 2 => "two"
case _ => "some other number" //如果什么都不是
}
val result2 = value match {
case i if i == 1 => "one"
case i if i == 2 => "two"
case _ => "some othor number"
}
// println("resule1 of match is:" + result)
// println("resule2 of match is:" + result2);
//类型匹配
def t(obj: Any) = obj match { //Any任何类型
case x: Int => println("Int") //x代表传入的值
case s: String => println("String") //s代表传入的值
case _ => println("unknown type") //任何类型
}
//t("1")
val macTalk = Book("xiaohua", "CJQ")
macTalk match { //模式匹配macTalk的值
case Book(name, author) => println("this is book")
case _ => println("unknown")
}
}
/**
* 模式匹配
*/
class Basic5 {
}
//样例类,不可变性,val定义,不建议var ||-->常用于模式匹配
/**
* case class(多用在匹模式匹配中)
* 构造器中的每一个类型都为val,不建议使用var
* 不用new就可以直接产生对象(为什么?apply方法)
*/
case class Book(name: String, author: String)
object Basic5 extends App {
val value = 3
val result = value match { //判断value值,返回值由下面判断结果确定
case 1 => "one"
case 2 => "two"
case _ => "some other number" //如果什么都不是
}
val result2 = value match {
case i if i == 1 => "one"
case i if i == 2 => "two"
case _ => "some othor number"
}
// println("resule1 of match is:" + result)
// println("resule2 of match is:" + result2);
//类型匹配
def t(obj: Any) = obj match { //Any任何类型
case x: Int => println("Int") //x代表传入的值
case s: String => println("String") //s代表传入的值
case _ => println("unknown type") //任何类型
}
//t("1")
val macTalk = Book("xiaohua", "CJQ")
macTalk match { //模式匹配macTalk的值
case Book(name, author) => println("this is book")
case _ => println("unknown")
}
}
相关文章推荐
- Scala编程基础 基本语法 数组 集合 类 模式匹配【Scala 2】
- Scala课堂-2-基础(续)-apply方法、单例对象、模式匹配、样本类
- Scala基础应用(4)- 样本类和模式匹配
- Scala语法 Case Class和模式匹配
- Scala中的模式匹配match
- 【Scala】Scala中的match、case模式匹配
- Scala模式匹配(match)使用
- Scala中的match(模式匹配)
- scala基础30-模式匹配进阶
- Scala 模式匹配 match-case
- 从jvm来看,scala中的@究竟是个什么鬼?@模式匹配符号(scala 词法分析 语法分析 常用)
- Scala基础教程(八):模式匹配、正则表达式
- scala模式匹配match操作
- scala基础-模式匹配
- Scala中的match(模式匹配)
- Scala模式匹配语法讲解
- scala基础31-模式匹配之正则表达式
- Scala的模式匹配本质是什么? -从Coursera的响应式编程说起
- [Scala] Pattern Matching(模式匹配)
- Scala使用match匹配类型出现的unreachable code问题