当前位置: 首页 > news >正文

百度seo网站排名优化浙大企业管理培训课程

百度seo网站排名优化,浙大企业管理培训课程,长沙做模板网站,新闻报道策划案模板范文文章目录 每日一句正能量章节概要1.5 Scala的模式匹配与样例类1.5.1 模式匹配字符匹配匹配字符串守卫匹配类型匹配数组、元组、集合 1.5.2 样例类 课外补充偏函数 每日一句正能量 “成功的秘诀#xff0c;在于对目标的执着追求。”——爱迪生 无论是在工作、学习、还是生活中在于对目标的执着追求。”——爱迪生 无论是在工作、学习、还是生活中只有对目标有着真正的执着追求才有可能取得成功。爱迪生是个成功的发明家也是一个努力不懈、坚持不断的实践者。他曾说过“没有人能够一次成功成功的秘诀就在于多次失败后依然不放弃对目标的执着追求。” 所以只有对自己的目标有着强烈的追求才能在取得成果的路上坚持不懈地去奋斗才能不怕失败不放弃不断地提高自己的能力和技巧。每一次失败都是向成功更近一步的机会只要时刻保持目标的执着追求坚信自己一定能够取得成功就一定会迈向胜利。 章节概要 Spark是专为大规模数据处理而设计的快速通用的计算引擎它是由Scala语言开发实现的关于大数据技术本身就是计算数据而Scala既有面向对象组织项目工程的能力又具备计算数据的功能同时Spark和Scala的紧密集成本书将采用Scala语言开发Spark程序所以学好Scala将有助于我们更好的掌握Spark框架。 1.5 Scala的模式匹配与样例类 Scala提供了强大的模式匹配机制最常见的模式匹配就是math语句主要应用于从多个分支中进行选择的场景。 1.5.1 模式匹配 Scala中的模式匹配是由match case组成它类似于Java中的switch case。match关键字主要用来描述一个表达式位于表达式位置的后面。case关键字主要用来描述和表达式结果进行比较后的模式。 创建模式匹配的语法格式如下 表达式 match {case 模式1 语句1case 模式2 语句2case 模式3 语句3 }下面定义一个方法matchTest()方法的参数是一个整形字段而方法的调用则是对参数进行模式匹配若参数匹配的是1则打印输出“one”若参数匹配的是2则打印输出“two”若参数匹配的是_则打印输出“many”具体实现代码如下所示。 package cn.itcast.scalaobject Ch12_PatternMatch {def main(args: Array[String]): Unit {println(matchTest(5))}//模式匹配def matchTest(x:Int):String x match{case 1 onecase 2 twocase _ many} }结果如下图所示 字符匹配 def main(args: Array[String]): Unit {val charStr 6charStr match {case println(匹配上了加号)case - println(匹配上了减号)case * println(匹配上了乘号)case / println(匹配上了除号)//注意。所有的模式匹配都必须最终匹配上一个值如果没有匹配上任何值就会报错// case _ println(都没有匹配上我是默认值)}}匹配字符串 def main(args: Array[String]): Unit {val arr Array(hadoop, zookeeper, spark)val name arr(Random.nextInt(arr.length))name match {case hadoop println(大数据分布式存储和计算框架...)case zookeeper println(大数据分布式协调服务框架...)case spark println(大数据分布式内存计算框架...)case _ println(我不认识你...)}}守卫 模式匹配当中我们也可以通过条件进行判断def main(args: Array[String]): Unit {var ch 500var sign 0ch match {case sign 1case - sign 2case _ if ch.equals(500) sign 3case _ sign 4}println(ch sign) }匹配类型 def main(args: Array[String]): Unit {//注意泛型擦除在模式匹配当中的类型匹配中除了Array类型以为所有的其他的数据类型都会被擦除掉val a 3val obj if(a 1) 1else if(a 2) 2else if(a 3) BigInt(3)else if(a 4) Map(aa - 1)else if(a 5) Map(1 - aa)else if(a 6) Array(1, 2, 3)else if(a 7) Array(aa, 1)else if(a 8) Array(aa)val r1 obj match {case x: Int xcase s: String s.toIntcase BigInt -1 //不能这么匹配case _: BigInt Int.MaxValuecase m: Map[String, Int] Map[String, Int]类型的Map集合case m: Map[_, _] Map集合case a: Array[Int] Its an Array[Int]case a: Array[String] Its an Array[String]case a: Array[_] Its an array of something other than Intcase _ 0}println(r1 , r1.getClass.getName)}匹配数组、元组、集合 def main(args: Array[String]): Unit {val arr Array(0, 3, 5)arr match {case Array(0, x, y) println(x y)case Array(0) println(only 0)//匹配数组以1 开始作为第一个元素case Array(1, _*) println(0 ...)case _ println(something else)}val lst List(3, -1)lst match {case 0 :: Nil println(only 0)case x :: y :: Nil println(sx: $x y: $y)case 0 :: tail println(0 ...)case _ println(something else)}val tup (1, 3, 7)tup match {case (1, x, y) println(s1, $x , $y)case (_, z, 5) println(z)case _ println(else)} }注意在Scala中列表要么为空Nil表示空列表要么是一个head元素加上一个tail列表。 9 :: List(5, 2) :: 操作符是将给定的头和尾创建一个新的列表 注意:: 操作符是右结合的如9 :: 5 :: 2 :: Nil相当于 9 :: (5 :: (2 :: Nil)) 1.5.2 样例类 在Scala中使用case关键字来定义的类被称为样例类。样例类是一种特殊的类经过优化可以被用于模式匹配。 样例类首先是类除此之外它是为模式匹配而优化的类样例类用case关键字进行声明。样例类主要是使用在我们后面的sparkSQL当中通过样例类来映射我们的表当中的对象 定义形式 case class 类型是多例的后面要跟构造参数。形式如下。 case class Student(name:String)case object 类型是单例的。 形式如下。 case object Person下面使用case关键字来定义样例类Person并将该样例类应用到模式匹配中具体代码如下所示。 package cn.itcast.scalaobject Ch13_CaseClass {//定义样例类case class Person(name:String,age:Int)def main(args: Array[String]): Unit {//创建样例类对象val alice new Person(Alice, 25)val bob new Person(Bob, 32)val charlie new Person(Charlie, 33)//val tom Person(tom,26) //这种方式创建也可以for(person - List(alice,bob,charlie)){//模式匹配person match {case Person(Alice,25) println(Hi Alice)case Person(Bob, 32) println(Hi Bob)case Person(Charlie, 33) println(Hi Charlie)//找不到以上匹配时case Person(name,age) println(Name:name\tAge:age)}}} }结果如下图所示 课外补充 偏函数 被包在花括号内没有match的一组case语句是一个偏函数它是PartialFunction[A, B]的一个实例A代表输入参数类型B代表返回结果类型常用作输入模式匹配偏函数最大的特点就是它只接受和处理其参数定义域的一个子集。 val func1: PartialFunction[String, Int] {case one 1case two 2// case _ -1}def func2(num: String) : Int num match {case one 1case two 2case _ -1}def main(args: Array[String]) {println(func1(one))println(func2(one))//如果偏函数当中没有匹配上那么就会报错我们可以通过isDefinedAt来进行判断// println(func1(three))println(func1.isDefinedAt(three))if(func1.isDefinedAt(three)){println(hello world)}else{println(world hello)} }转载自:https://blog.csdn.net/u014727709/article/details/133977059 欢迎start欢迎评论欢迎指正
http://www.dnsts.com.cn/news/224126.html

相关文章:

  • wordpress 企业建站网络营销专业职业规划
  • 万能素材东莞优化哪家好
  • 网站信息内容建设自查报告网站做伪原创收录
  • 网站横幅怎么制作教程武昌做网站哪家专业
  • 企业模板网站怎么做最好看的电视剧大全免费观看免费
  • 平面设计跟网站建设宿迁房产网新楼盘
  • 网站开发应用一台服务做两个网站吗
  • 中国做的电脑系统下载网站好php论坛源码下载
  • 个人网站怎么申请深圳开发小程序
  • 小公司如何做网站隔离电子商务营销策略
  • python做网站验证码全球搜索
  • 东莞飞天网站设计公司大型网站制作需要多少钱
  • 做自媒体视频搬运网站ucenter 整合两个数据库网站
  • 网站做cdn有没有专做推广小说的网站
  • wordpress建什么网站好网站建设应重视后期的服务和维护
  • 代做动画毕业设计的网站商标设计理念
  • 58同城 网站建设 成都中国室内设计联盟app
  • 免费创建个人商城网站吗建设制作外贸网站的公司
  • 海外网站免费建设网游开发软件
  • 高端网站建设口碑域名注册服务
  • 长春优惠做网站成全视频免费观看在线看ww
  • 做网站需要用什么技术互联网站建设用法
  • 设计类专业网站有哪些python做的网站
  • 模板建站合同wordpress壁纸
  • 游戏网站做的思想步骤如何进行关键词分析
  • 母婴类网站怎么建设wordpress msn space
  • 华艺网站建设中国招标信息公开网
  • 用nodejs做的网站百度关键词怎么设置
  • 上海做网站找哪家好都匀网站制作
  • 如何用手机做网站万网是干什么用的