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

企业建设网站注意点wordpress有什么用

企业建设网站注意点,wordpress有什么用,招商加盟网官网,招商网站建设需要什么Scala中有一个非常强大的模式匹配机制#xff0c;应用也非常广泛, 例如: 判断固定值 类型查询 快速获取数据 简单模式匹配 一个模式匹配包含了一系列备选项#xff0c;每个备选项都开始于关键字 case。且每个备选项都包含了一个模式及一到多个表达式。箭头符号 隔开…Scala中有一个非常强大的模式匹配机制应用也非常广泛, 例如: 判断固定值 类型查询 快速获取数据 简单模式匹配 一个模式匹配包含了一系列备选项每个备选项都开始于关键字 case。且每个备选项都包含了一个模式及一到多个表达式。箭头符号 隔开了模式和表达式。 格式  变量 match {case 常量 1 表达式 1case 常量 2 表达式 2case 常量 3 表达式 3case _ 表达式 4 // 默认匹配项} 执行流程 先执行第一个case, 看变量值和该case对应的常量值是否一致. 如果一致, 则执行该case对应的表达式. 如果不一致, 则往后执行下一个case, 看变量值和该case对应的常量值是否一致. 以此类推, 如果所有的case都不匹配, 则执行case _对应的表达式. 需求  提示用户录入一个单词并接收. 判断该单词是否能够匹配以下单词如果能匹配返回一句话 打印结果. 代码示例  package test11import scala.io.StdInobject Test2 {def main(args: Array[String]): Unit {println(请输入一个字符串)val str StdIn.readLine()val result str match {case hadoop 大数据分布式存储和计算框架case zookeeper 大数据分布式协调服务框架case spark 大数据分布式内存计算框架case _ 未匹配}println(result)//简写形式val result2 str match {case hadoop println(大数据分布式存储和计算框架)case zookeeper println(大数据分布式协调服务框架)case spark println(大数据分布式内存计算框架)case _ println(未匹配)}}}匹配类型 除了匹配数据之外, match表达式还可以进行类型匹配。如果我们要根据不同的数据类型来执行不同的逻辑也可以使用match表达式来实现。 格式 对象名 match {case 变量名 1 : 类型 1 表达式 1case 变量名 2 : 类型 2 表达式 2case 变量名 3 : 类型 3 表达式 3...case _ 表达式 4 } 需求 定义一个变量为Any类型然后分别给其赋值为hadoop、 1 、1.0 定义模式匹配然后分别打印类型的名称 代码示例  package test11object Test3 {def main(args: Array[String]): Unit {// val a: Any 1.0// val a: Any helloval a: Any 1val result a match {case x: String s$x 是String类型的数据case x: Double s$x 是Double类型的数据case x: Int s$x 是Int类型的数据case _ 未匹配}println(result)// 4. 优化版, 如果在case校验的时候, 变量没有被使用, 则可以用_替代.val result1 a match {case _: String Stringcase _: Int Intcase _: Double Doublecase _ 未匹配}println(result1)} }守卫 所谓的守卫指的是在case语句中添加if条件判断, 这样可以让我们的代码更简洁, 更优雅. 格式 变量 match {case 变量名 if条件 1 表达式 1case 变量名 if条件 2 表达式 2case 变量名 if条件 3 表达式 3...case _ 表达式 4} 需求 从控制台读入一个数字a使用StdIn.readInt 如果 a 0 而且 a 3打印[0-3] 如果 a 4 而且 a 8打印[4,8] 否则打印未匹配 package test11import scala.io.StdInobject Test4 {def main(args: Array[String]): Unit {println(请输入一个整数)val num StdIn.readInt()num match {case a if a 0 a 3 println([0 - 3])case a if a 4 a 8 println([4 - 8])case _ println(不匹配)}} }匹配样例类 Scala中可以使用模式匹配来匹配样例类从而实现可以快速获取样例类中的成员数据。后续我们在开发Akka案例时还会经常用到。 格式 对象名 match {case 样例类型 1 (字段 1 , 字段 2 , 字段n) 表达式 1case 样例类型 2 (字段 1 , 字段 2 , 字段n) 表达式 2case 样例类型 3 (字段 1 , 字段 2 , 字段n) 表达式 3...case _ 表达式 4} 注意: 样例类型后的小括号中, 编写的字段个数要和该样例类的字段个数保持一致. 通过match进行模式匹配的时候, 要匹配的对象必须声明为: Any类型. 需求 创建两个样例类Customer(包含姓名, 年龄字段), Order(包含id字段) 分别定义两个样例类的对象并指定为Any类型 使用模式匹配这两个对象并分别打印它们的成员变量值 代码示例 package test11object Test5 {case class Customer(var name: String, var age: Int)case class Order(id: Int)def main(args: Array[String]): Unit {val c: Any Customer(Tom, 23)val o: Any Order(123)val arr: Any Array(0, 1)c match {case Customer(a, b) println(sCustomer类型的对象name$a,age$b)case Order(c) println(sOrder类型id$c)case _ println(未匹配)}o match {case Customer(a, b) println(sCustomer类型的对象name$a,age$b)case Order(c) println(sOrder类型id$c)case _ println(未匹配)}arr match {case Customer(a, b) println(sCustomer类型的对象name$a,age$b)case Order(c) println(sOrder类型id$c)case _ println(未匹配)}} }匹配集合 除了上述功能之外, Scala中的模式匹配还能用来匹配数组, 元组, 集合(列表, 集, 映射)等。 匹配数组 package test11object Test6 {def main(args: Array[String]): Unit {val arr1 Array(1, 2, 3)val arr2 Array(0)val arr3 Array(1, 2, 4, 5, 6, 7)arr1 match {case Array(1, x, y) println(s匹配长度为 3 , 首元素为 1 , 后两个元素是: $x, $y)case Array(0) println(匹配只有一个0元素的数组)case Array(1, _*) println(匹配第一个元素是1后边的元素随意)case _ println(未匹配)}arr2 match {case Array(1, x, y) println(s匹配长度为 3 , 首元素为 1 , 后两个元素是: $x, $y)case Array(0) println(匹配只有一个0元素的数组)case Array(1, _*) println(匹配第一个元素是1后边的元素随意)case _ println(未匹配)}arr3 match {case Array(1, x, y) println(s匹配长度为 3 , 首元素为 1 , 后两个元素是: $x, $y)case Array(0) println(匹配只有一个0元素的数组)case Array(1, _*) println(匹配第一个元素是1后边的元素随意)case _ println(未匹配)}} }匹配列表 package test11object Test7 {def main(args: Array[String]): Unit {val list1 List(0)val list2 List(0, 1, 2, 3, 4, 5)val list3 List(1, 2)list1 match {case List(0) println(匹配 只有一个0元素的列表)case List(0, _*) println(匹配 0开头后边元素无所谓的列表)case List(x, y) println(s匹配只有俩个元素的列表元素为$x,$y)case _ println(未匹配)}//思路二: 采用关键字优化 Nil, taillist1 match {case 0 :: Nil println(匹配: 只有一个 0 元素的列表)case 0 :: tail println(匹配: 0 开头, 后边元素无所谓的列表)case x :: y :: Nil println(s匹配: 只有两个元素的列表, 元素为: $x, $y)case _ println(未匹配)}list2 match {case List(0) println(匹配 只有一个0元素的列表)case List(0, _*) println(匹配 0开头后边元素无所谓的列表)case List(x, y) println(s匹配只有俩个元素的列表元素为$x,$y)case _ println(未匹配)}list3 match {case List(0) println(匹配 只有一个0元素的列表)case List(0, _*) println(匹配 0开头后边元素无所谓的列表)case List(x, y) println(s匹配只有俩个元素的列表元素为$x,$y)case _ println(未匹配)}} }匹配元组 package test11object Test8 {def main(args: Array[String]): Unit {val a (1, 2, 3)val b (3, 4, 5)val c (3, 4)a match {case (1, x, y) println(s匹配长度为3以1开头后面俩个元素随意的元组这里的后俩个元素是$x,$y)case (x, y, 5) println(s匹配长度为3以5结尾前边俩个元素随意的元组这里的前俩个元素是$x,$y)case _ println(未匹配)}} }变量声明中的模式匹配 在定义变量时可以使用模式匹配快速获取数据. 例如: 快速从数组,列表中获取数据. package test11object Test9 {def main(args: Array[String]): Unit {val arr (0 to 10).toArray//使用模式匹配分别获取第二个、第三个、第四个元素val Array(_, x, y, z, _*) arrprintln(x, y, z)val list (0 to 10).toList// 使用模式匹配分别获取第一个、第二个元素val List(a, b, _*) list// 使用模式匹配分别获取第一个、第二个元素val c :: d :: tail listprintln(a, b)println(c, d)}}匹配for表达式 Scala中还可以使用模式匹配来匹配for表达式从而实现快速获取指定数据, 让我们的代码看起来更简洁, 更优雅. 需求 定义变量记录学生的姓名和年龄, 例如: 张三 - 23, 李四 - 24, 王五 - 23, 赵六 - 26 获取所有年龄为 23 的学生信息, 并打印结果. package test11object Test10 {def main(args: Array[String]): Unit {val map1 Map(张三 - 23, 李四 - 24, 王五 - 23, 赵六 - 26)for ((k, v) - map1 if v 23) println(s$k $v)println(- * 15)for ((k, 23) - map1) println(k 23)} }
http://www.dnsts.com.cn/news/151704.html

相关文章:

  • cms建站系统介绍门户网站建设美丽
  • 3d渲染网站建设注册网站多久
  • 厚街做网站大濮网
  • 济南怎样做网站推广Wordpress排版混乱
  • 网站开发可以入无形资产吗随州什么公司做网站
  • 我的世界怎么做充值点卷网站厦门网站设计公司找哪家厦门小程序建设
  • 网站建站所用的技术韩文网站建设
  • 怎样申请注册公司网站淘宝api wordpress
  • 新乡做网站推广公司网站后台维护
  • 英文网站开发哪家好wordpress grace7 破解
  • 制作网站首页教案找人一起做素材网站
  • 专业做酒类营销的网站网络推广策划思路
  • 深圳网站建设效果汕头建站免费模板
  • 珠江新城网站建设北京高端品牌网站建设
  • 湖州住房和城乡建设厅网站有个网站做字的图片
  • 有经验的郑州网站建设石家庄做外贸网站建设
  • 网站怎样建设网站套用模板
  • 国内做网站建设好的拼多多网站建设
  • 在大网站做网页广告需要多少钱中国科技成就ppt
  • uemo网站平台建设wordpress 安装php
  • 汕头企业制作网站推广怎么修改自己网站内容
  • 厦门网站制作系统庆阳网站建设公司
  • html5网站设计造价员报考官网
  • wordpress全站网易云音乐播放下载wordpress很慢
  • 网站建设交印花税股票app开发价格
  • 中国农村建设网站首页网页设计参考网站
  • 关于申请建设网站的请示网站做链接的意义是什么
  • 网站更换服务器 备案黄石网站建设多少钱
  • 金融投资风险公司网站源码如何开拓海外市场
  • 外贸网站品牌官网建设中国外贸网站排名