关键词:
package com.dt.spark.scala.bascis class Dataframework case class Computerframework (name:String,popular:Boolean) extends Dataframework case class Storgeframework (name:String,popular:Boolean) extends Dataframework object helloPatternMatch def main(args: Array[String]): Unit = // getSalary("hadoop") // getSalary("flink") // getSalary("scala") getSalary("scalasafdas",6) getMatchType(100.0) getMatchType("java") getValue("spark",Map("spark"->"the hosttest!!")) getBigDataType(Computerframework("spark",true)) getMatchTypeCollection(Array("scala")) def getSalary(name:String,age:Int) name match case "spark" => println("$ 15k") case "hadoop" => println("$ 12k") case _ if name == "scala" => println("$ 14k") case _ if name == "flink" => println("$ 13k") case _name if age >= 5 => println(" name : "+ _name +" $ 16k") case _ => println("$ 8k") def getMatchType(msg:Any) msg match case i: Int => println("integer") case s:String => println("String") case s:Double => println("Double") case array:Array[Int]=> println("Array") case _ => println("other type") def getMatchTypeCollection(msg:Array[String]) msg match case Array("scala") => println("1 element") case Array("scala","java")=> println("2 element") case Array("spark",_*) => println("many element") case _ => println("other element") def getBigDataType(data:Dataframework) data match case Computerframework(name,popular) => println("name: "+name+" "+ popular) case Storgeframework(name,popular) => println(name+" "+ popular) case _ => println("other types") def getValue(key:String,content: Map[String,String]) content.get(key) match case Some(value) => println(value) case None => println("none") 结果 name : scalasafdas $ 16k Double String the hosttest!! name: spark true 1 element
scala实战高手****第14课scala集合上的函数式编程实战及spark源码鉴赏
packagecom.dt.spark.scala.bascisobjectFunctional_Itearal defmain(args:Array[String]):Unit= valrange=1to10 vallist=List(1,2,3,4,5) 查看详情
scala实战高手****第7课:零基础实战scala面向对象编程及spark源码解析
/** * 如果有这些语法的支持,我们说这门语言是支持面向对象的语言 * 其实真正面向对象的精髓是不是封装、继承、多态呢? * --->肯定不是,封装、继承、多态,只不过是支撑面向对象的 * 一些... 查看详情
《java8实战》读书笔记13:java8与scala(代码片段)
《Java8实战》读书笔记13:Java8与Scala第15章面向对象和函数式编程的混合:Java8和Scala的比较15.1.1你好,啤酒15.1.2基础数据结构:List、Set、Map、Tuple、Stream以及Option1.创建集合2.不可变与可变的比较3.使用集合4.元组5.S... 查看详情
13scala模式匹配
1、模式匹配的基础语法2、对类型进行模式匹配3、对Array和List的元素进行模式匹配4、caseclass与模式匹配5、Option与模式匹配1、模式匹配的基础语法 Scala提供了matchcase语法,即模式匹配。替代java的switchcase。 两者不同,java... 查看详情
scala零基础教学61-80
第61讲:Scala中隐式参数与隐式转换的联合使用实战详解及其在Spark中的应用源码解析 第62讲:Scala中上下文界定内幕中的隐式参数与隐式参数的实战详解及其在Spark中的应用源码解析/***Scala中上下文界定内幕中的隐式参数与隐... 查看详情
scala实战
Scala实战Scala读取控制台输入并打印出来Scala求最大公约数 查看详情
如何在Scala中模式匹配多个值?
】如何在Scala中模式匹配多个值?【英文标题】:HowtopatternmatchmultiplevaluesinScala?【发布时间】:2011-11-0419:13:41【问题描述】:假设我想使用相同的代码处理来自远程服务的多个返回值。我不知道如何在Scala中表达这一点:codematchca... 查看详情
spark初识
1、Scala安装第一步:进入Scala官网,下载scala-2.13.1版本。Scala官网地址第二步:通过Mobaxtrem将scala-2.13.1.tgz上传CentOS-7服务器的/usr/local目录。第三步:CentOS-7安装Scala环境,请执行如下步骤:[root@Hadoop3-master... 查看详情
scala实战
1.Eclipse中设置scala调试器scala的调试器要选择ScalaApplication(new debuger)Launcher;开始选择图省事,选择了一个字母少的,亲切的Launcher:ScalaJVMLauncher;但是后来发现这个Launcher只能运行,但是无法在调试过程中获取变量值。2.jav... 查看详情
spark记录-scala模式匹配
Scala模式匹配模式匹配是Scala函数值和闭包后第二大应用功能。Scala为模式匹配提供了极大的支持,处理消息。模式匹配包括一系列备选项,每个替代项以关键字大小写为单位。每个替代方案包括一个模式和一个或多个表达式,如... 查看详情
第43讲:scala中类型变量bounds代码实战及其在spark中的应用源码解析
类型变量的界定:类型变量的上界,类型变量的下界。上界就是类型必须是界定类型的子类,看如下示例:package com.dt.scala.type_parameterization// 我们需要定义一个泛型类Pair,泛型类中有一个bigger方法,用来比较传入的参数/... 查看详情
第45讲:scala中contextbounds代码实战及其在spark中的应用源码解析
与viewbounds一样contextbounds(上下文界定)也是隐式参数的语法糖我们使用viewbounds的方式的写法如下:class Pairs[T <% Comparable[T]](first: T,second:T){ def bigger ={ & 查看详情
快学scala第14章----模式匹配和样例类
...的switch,不会有意外掉入到下一个分支的问题。如果没有模式能够匹配,会抛出MatchError。可以用case_模式来避免。模式可以包含一个随意定义的条件,称作守卫。你可以对表达式的类型进行匹配;优先选择模式匹配而不是isInstanc... 查看详情
scala基础知识
...式值函数类继承特质类型apply方法单例对象函数即对象包模式匹配样本类try-catch-finally关于这节课最初的几个星期将涵盖基本语法和概念,然后我们将通过更多的练习展开这些内容。有一些例子是以解释器交互的形式给出的,另... 查看详情
scala模式匹配详解
...映射理解Scala的函数式编程思想 Scala中有一个非常强大的模式匹配机制,应用也非常广泛,例如:判断固定值类型查询快速获取数据1简单模式匹配一个模式匹配包含了一系列备选项,每个备选项都开始于关键字case。且每个... 查看详情
Spark Scala Dataframe:删除第 n 条记录
】SparkScalaDataframe:删除第n条记录【英文标题】:SparkScalaDataframe:DeletenthRecord【发布时间】:2016-04-0504:46:13【问题描述】:是否可以在不使用collect的情况下从数据帧中删除第n行,然后再转换回数据帧。我想避免使用collect,因为... 查看详情
Scala Slick模式特征中的“覆盖def *”是啥
】ScalaSlick模式特征中的“覆盖def*”是啥【英文标题】:Whatis\'overridedef*\'inScalaSlickschematraitScalaSlick模式特征中的“覆盖def*”是什么【发布时间】:2021-12-1812:21:13【问题描述】:caseclassFruit(apple:String,banana:String)traitAppleComponentself:Ha... 查看详情
嵌入 scala 2.13.x REPL
】嵌入scala2.13.xREPL【英文标题】:Embeddingscala2.13.xREPL【发布时间】:2020-05-0506:04:27【问题描述】:对于Scala2.12.x,可以使用scala.tools.nsc.interpreter.ILoop嵌入ScalaREPL。对于Scala2.13.x,scala.tools.nsc.interpreter.ILoop已被删除。如何嵌入Scala2.1... 查看详情