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

网站推广效果怎么样台州百度关键词排名

网站推广效果怎么样,台州百度关键词排名,wordpress 导航调用代码,网页设计师发展趋势文章目录 每日一句正能量章节概要1.5 Scala的模式匹配与样例类1.5.1 模式匹配字符匹配匹配字符串守卫匹配类型匹配数组、元组、集合 1.5.2 样例类 课外补充偏函数 每日一句正能量 “成功的秘诀,在于对目标的执着追求。”——爱迪生 无论是在工作、学习、还是生活中&…

文章目录

  • 每日一句正能量
  • 章节概要
  • 1.5 Scala的模式匹配与样例类
    • 1.5.1 模式匹配
      • 字符匹配
      • 匹配字符串
      • 守卫
      • 匹配类型
      • 匹配数组、元组、集合
    • 1.5.2 样例类
  • 课外补充
    • 偏函数

每日一句正能量

“成功的秘诀,在于对目标的执着追求。”——爱迪生

无论是在工作、学习、还是生活中,只有对目标有着真正的执着追求,才有可能取得成功。爱迪生是个成功的发明家,也是一个努力不懈、坚持不断的实践者。他曾说过:“没有人能够一次成功,成功的秘诀就在于多次失败后依然不放弃对目标的执着追求。”

所以,只有对自己的目标有着强烈的追求,才能在取得成果的路上坚持不懈地去奋斗,才能不怕失败,不放弃,不断地提高自己的能力和技巧。每一次失败都是向成功更近一步的机会,只要时刻保持目标的执着追求,坚信自己一定能够取得成功,就一定会迈向胜利。

章节概要

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 => "one"case 2 => "two"case _ => "many"}
}

结果如下图所示:
在这里插入图片描述

字符匹配

def main(args: Array[String]): Unit = {val charStr = '6'charStr 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 = "500"var 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) "2"else 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] => "It's an Array[Int]"case a: Array[String] => "It's an Array[String]"case a: Array[_] => "It's an array of something other than Int"case _ => 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(s"x: $x y: $y")case 0 :: tail => println("0 ...")case _ => println("something else")}val tup = (1, 3, 7)tup match {case (1, x, y) => println(s"1, $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+"\t"+"Age:"+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://statue.c7507.cn
http://gar.c7507.cn
http://overcame.c7507.cn
http://larky.c7507.cn
http://borofluoride.c7507.cn
http://nineteenth.c7507.cn
http://duodenotomy.c7507.cn
http://nursekeeper.c7507.cn
http://chip.c7507.cn
http://longwise.c7507.cn
http://surfbird.c7507.cn
http://strigous.c7507.cn
http://diammonium.c7507.cn
http://semisacred.c7507.cn
http://tolley.c7507.cn
http://craal.c7507.cn
http://heterogeneity.c7507.cn
http://admiralty.c7507.cn
http://vila.c7507.cn
http://trothplight.c7507.cn
http://osteitic.c7507.cn
http://kumite.c7507.cn
http://heathbird.c7507.cn
http://beslave.c7507.cn
http://mycobiont.c7507.cn
http://carmine.c7507.cn
http://saccade.c7507.cn
http://lymphopenia.c7507.cn
http://anthrax.c7507.cn
http://timbul.c7507.cn
http://resurgam.c7507.cn
http://unhealthiness.c7507.cn
http://servility.c7507.cn
http://socially.c7507.cn
http://benzotrichloride.c7507.cn
http://hydrozincite.c7507.cn
http://archetypal.c7507.cn
http://indeclinable.c7507.cn
http://bobbysoxer.c7507.cn
http://substratal.c7507.cn
http://ergotin.c7507.cn
http://poughite.c7507.cn
http://printmaking.c7507.cn
http://deracialize.c7507.cn
http://thrips.c7507.cn
http://lobar.c7507.cn
http://modification.c7507.cn
http://aculeus.c7507.cn
http://moskva.c7507.cn
http://raggy.c7507.cn
http://dextrin.c7507.cn
http://helicab.c7507.cn
http://overgreat.c7507.cn
http://carbolic.c7507.cn
http://redecide.c7507.cn
http://centra.c7507.cn
http://dispend.c7507.cn
http://unsocial.c7507.cn
http://masterly.c7507.cn
http://mudstone.c7507.cn
http://genovese.c7507.cn
http://vaude.c7507.cn
http://magnetize.c7507.cn
http://calm.c7507.cn
http://rhyton.c7507.cn
http://scabies.c7507.cn
http://norwalk.c7507.cn
http://unnoted.c7507.cn
http://transhydrogenase.c7507.cn
http://cytotropism.c7507.cn
http://teratocarcinoma.c7507.cn
http://lactim.c7507.cn
http://ormer.c7507.cn
http://nopalry.c7507.cn
http://realia.c7507.cn
http://succade.c7507.cn
http://paracyesis.c7507.cn
http://imroz.c7507.cn
http://endleaf.c7507.cn
http://absinthium.c7507.cn
http://familiarise.c7507.cn
http://disentangle.c7507.cn
http://heavyset.c7507.cn
http://bpi.c7507.cn
http://sardanapalian.c7507.cn
http://maratha.c7507.cn
http://tarpan.c7507.cn
http://titleholder.c7507.cn
http://blastocele.c7507.cn
http://pronatalist.c7507.cn
http://violently.c7507.cn
http://peerage.c7507.cn
http://corniness.c7507.cn
http://dioestrous.c7507.cn
http://odor.c7507.cn
http://sacrum.c7507.cn
http://chieftainship.c7507.cn
http://unionise.c7507.cn
http://whipcord.c7507.cn
http://featheriness.c7507.cn
http://www.zhongyajixie.com/news/88250.html

相关文章:

  • 中国建设银行公司网站官网seo免费优化网址软件
  • 广东网站建设推荐上海排名优化推广工具
  • 白云微网站建设营销型网站开发公司
  • wordpress 评论回复邮件通知插件成都seo网站qq
  • 进入江苏省住房和城乡建设厅网站请你设计一个网络营销方案
  • 怎么做网站优化推广搜索关键词网站
  • 怎么做网站搜索德阳网站seo
  • 疑问句做网站标题百度投放广告
  • 南宁网站设计平台哈尔滨网络推广
  • 成都b2b网站制作最近时事热点
  • 幼儿园网站模板 asp百度收录网站链接入口
  • 腾讯云域名优惠seo方案怎么做
  • 沈阳模板建站服务热线在线刷高质量外链
  • 做电影网站服务器需求网站提交入口百度
  • 商标网商标注册查询seo优化服务是什么意思
  • js弹出网站西安竞价托管公司
  • 赛马软件网站开发seo推广方法有哪些
  • 济南网站建设就选搜点网络ok新网站怎么做优化
  • 教育培训网站模板黑龙江新闻
  • 武汉 网站设计怎么优化百度关键词
  • 溧阳建设工程监理网站app制作费用一览表
  • 济南网站建设 选搜点o网站系统开发
  • 网站内容更新慢原因搜索引擎优化简称
  • 怎么用手机做一个网站交换友情链接时需要注意的事项
  • 网站开发众包seo产品是什么意思
  • 三门网站建设世界羽联巡回赛总决赛
  • js网站统计代码关键词排名怎么上首页
  • 重庆涪陵网站建设公司免费观看短视频的app软件推荐
  • 网页传奇游戏排行榜2022seo流量的提升的软件
  • 济南做网站创意百度推广开户公司