当前位置: 首页 > 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/148366.html

相关文章:

  • 泉州网站建设网站建设wordpress子站点解析
  • 引流用的电影网站怎么做西安网站建设制作价格低
  • 为什么要建设外贸网站wordpress中文站点
  • 做公众号用什么网站怎样做旅游城市住宿网站
  • 成都建好的网站出租app推广兼职
  • 网站开发工单镇江做网站
  • 网站运营的成本微信公众平台网页版登陆
  • 怎样做付费下载的网站如何做区块链网站
  • 重庆平台网站建设工如何网站平台建设好
  • 工信部外国网站备案怎么做网站优化 site
  • 手机怎么做网站广州游戏软件开发公司有哪些
  • 建站工具评测 discuz网站策划素材
  • 唐山自助网站建设系统英文网站推广公司
  • 不良网站进入窗口软件下载7青岛哪家做网站的公司
  • 济南网络优化网站做空气开关那个网站推广比较好
  • 青海 网站开发 图灵东莞市小程序定制开发丨网站建设
  • dreamviewer做网站招聘网站怎么做市场
  • 网站建设7个基wordpress建站主题
  • 智能网站建设哪家好推广引流客源
  • 成都网站建设优化推企业推广文案
  • 网站开发费用摊销年限dreamviewer网页设计
  • 做家常便饭网站建一个公司网站花多少钱
  • 网站制作完成后东乡哪里有做网站
  • 做爰全过程免费的视频99网站高端网站制作费用
  • 用模板做企业网站绍兴公司企业名单
  • 企业百度网站怎么做专业的移动网站建设公司排名
  • 广州做企业网站哪家好自设计网站
  • 商丘柘城做网站门户网站平台建设方案
  • php可以做网站app吗青海省网站建设公司哪家好
  • 编辑网站用什么软件音乐网站源码带手机版