CC00051.scala——|Hadoop&Scala.V07|——|Scala.v07|模式匹配和样例类|Option|模式匹配|

[QMT量化交易小白入门]-二、如何用miniQMT获取沪深A股的板块列表、历史行情数据实时行情数据 本专栏主要是介绍QMT的基础用法,常见函数,写策略的方法,也会分享一些量化交易的思路,大概会写100篇左右。QMT的相关资料较少,在使用过程中不断的摸索,遇到了一些问题,记录下来大家一起沟通,共同进步,自己淋过雨了,希望大家都有一把伞。 阅读详情
一、Option与模式匹配
### --- Option与模式匹配

~~~     Scala Option选项类型用来表示一个值是可选的,有值或无值。
~~~     Option[T] 是一个类型为 T 的可选值的容器,可以通过get()函数获取Option的值。如果值存在,
~~~     Option[T] 就是一个 Some。如果不存在,Option[T] 就是对象 None 。
~~~     Option通常与模式匹配结合使用,用于判断某个变量是有值还是无值。
### --- 编程示例

object OptionMatch {
    val grades = Map("jacky" -> 90, "tom" -> 80, "jarry" -> 95)
    def getGrade(name: String): Unit = {
        val grade = grades.get(name)
        grade match {
            case Some(grade) => println("成绩:" + grade)
            case None => println("没有此人成绩!")
        }
}
def main(args: Array[String]): Unit = {
    getGrade("jacky")
    getGrade("张三")
}
}
二、编程实现
### --- 编程代码

package yanqi.cn.part07

object OptionDemo {
  val grades = Map("jacky" -> 90, "tom" -> 80, "jarry" -> 60)

  def getGrade(name: String): Unit = {
    val grade: Option[Int] = grades.get(name)
    grade match {
      case Some(grade) => println("成绩是:" + grade)
      case None => println("没有此人成绩!")
    }
  }

  def main(args: Array[String]): Unit = {
    getGrade("jacky")
    getGrade("lisi")
  }
}
### --- 编译打印

D:\JAVA\jdk1.8.0_231\bin\java.exe "-javaagent:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\lib\idea_rt.jar=57934:D:\IntelliJIDEA\IntelliJ IDEA 2019.3.3\bin" -Dfile.encoding=UTF-8 -classpath D:\JAVA\jdk1.8.0_231\jre\lib\charsets.jar;D:\JAVA\jdk1.8.0_231\jre\lib\deploy.jar;D:\JAVA\jdk1.8.0_231\jre\lib\ext\access-bridge-64.jar;D:\JAVA\jdk1.8.0_231\jre\lib\ext\cldrdata.jar;D:\JAVA\jdk1.8.0_231\jre\lib\ext\dnsns.jar;D:\JAVA\jdk1.8.0_231\jre\lib\ext\jaccess.jar;D:\JAVA\jdk1.8.0_231\jre\lib\ext\jfxrt.jar;D:\JAVA\jdk1.8.0_231\jre\lib\ext\localedata.jar;D:\JAVA\jdk1.8.0_231\jre\lib\ext\nashorn.jar;D:\JAVA\jdk1.8.0_231\jre\lib\ext\sunec.jar;D:\JAVA\jdk1.8.0_231\jre\lib\ext\sunjce_provider.jar;D:\JAVA\jdk1.8.0_231\jre\lib\ext\sunmscapi.jar;D:\JAVA\jdk1.8.0_231\jre\lib\ext\sunpkcs11.jar;D:\JAVA\jdk1.8.0_231\jre\lib\ext\zipfs.jar;D:\JAVA\jdk1.8.0_231\jre\lib\javaws.jar;D:\JAVA\jdk1.8.0_231\jre\lib\jce.jar;D:\JAVA\jdk1.8.0_231\jre\lib\jfr.jar;D:\JAVA\jdk1.8.0_231\jre\lib\jfxswt.jar;D:\JAVA\jdk1.8.0_231\jre\lib\jsse.jar;D:\JAVA\jdk1.8.0_231\jre\lib\management-agent.jar;D:\JAVA\jdk1.8.0_231\jre\lib\plugin.jar;D:\JAVA\jdk1.8.0_231\jre\lib\resources.jar;D:\JAVA\jdk1.8.0_231\jre\lib\rt.jar;E:\NO.Z.10000——javaproject\NO.Z.00002.Hadoop\ScalaPro\out\production\ScalaPro;D:\JAVA\scala-2.12.2\lib\scala-library.jar;D:\JAVA\scala-2.12.2\lib\scala-reflect.jar yanqi.cn.part07.OptionDemo
成绩是:90
没有此人成绩!

Process finished with exit code 0
[VCS]VCS checkpoint简介以及其在SoC验证加速中的作用 VCS checkpoint是Synopsys VCS提供的快照/恢复机制,可显著加速SoC验证。其核心是在仿真关键节点(如完成初始化后)保存系统状态,后续测试可直接从该点恢复,避免重复执行冗长的初始化阶段(如boot、DDR训练等)。该技术特别适用于多测试用共享同一初始状态的场景,通过分离初始化与功能验证流程,可提升回归效率3-5倍。需注意处理DPI-C状态同步、版本管理及存储优化等问题,结合UVM自动化脚本可实现更高效的验证流程。典型应用可节省数百万cycle的重复仿真时间。 阅读详情

相关推荐

(王道408考研数据结构)第二章线性表-第一节:线性表的定义基本操作

文章目录一:线性表的定义二:线性表的基本操作 一:线性表的定义 线性表(Linear List):零个或多个数据元素的有限序列 元素之间是有顺序的 若元素存在多个,则第一个元素无前驱,最后一个元素无后继,其他元素都有且只有一个前驱后继 线性表强调有限,“所有的整数按递增次序排列”很明显不是线性表 线性表可以表示为 L=(a1,a1,...,ai+1,...,an)L=(a_{1},a_{1},...,a_{i+1},...,a_{n})L=(a1​,a1​,...,ai+1​,...,an​) a

快乐江湖的博客 3616

详解ScalaOption模式匹配

详解scalaOption模式匹配

Ganymede的Hadoop世界 4512

运行时安全引擎RSE

该博客重点介绍了运行时安全引擎(Runtime Security Engine,简称 RSE)与应用处理器(Application Processor,简称 AP)之间的关系。 根据 ARM 的参考设计,RSE 是位于同一芯片(die)上的一个独立核心,与 AP 系统控制处理器(System Control Processor,简称 SCP)并列存在。RSE 为整个系统提供基本的安全保障运行时服务,如:可信启动(trusted boot)、度量启动(measured boot)、平台认证(platf

AI-安全-功耗 1299

Scala知识点31---Option对象

Scala Option(选项)型用来表示一个值是可选的(有值或无值),其实主要的目的是因为Scala不建议我们直接使用null去标识一个为空的数据 在Scala中认为直接使用null是不好的,因此才出现了Option对象 比如Option[T] 是一个型为 T 的可选值的容器 当我们调用方法取值的时候,如果值存在, Option[T] 就返回一个 Some[T] 的结果,如果不存在, Option[T] 返回的结果是一个 None对象 。 ...

别人笑我太疯癫,我笑他人看不穿。 611

scala模式匹配

但是Scala模式匹配的功能比Java的swtich case语法的功能要强大的多,Java的switch case语法只能对值进行匹配。Scala模式匹配除了可以对值进行匹配之外,还可以对型进行匹配、对ArrayList的元素情况进行匹配、对case class进行匹配、甚至对有值或没值(Option)进行匹配。

CarveStone的博客 2034

Scala 模式匹配详解

大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 101篇原创内容 ...

全网同名,欢迎关注。 2536

Scala模式匹配Option

目录 模式匹配 简单模式匹配 匹配型 守卫 匹配 Option模式匹配 scala中有一个非常强大的模式匹配机制,可以应用在很多场景: 1.switch语句 2.型查询 3.使用模式匹配快速获取数据 简单模式匹配Java中,有switch关键字,可以简化if条件判断语句。在scala中,可以使用match表达式替代。 格式: 变量 match { case "常量1" => 表达式1 case "常量2" => 表达.

qq_41369191的博客 546

Scala中的模式匹配——Option型中的模式匹配

/** * Option型中的模式匹配 * Option型有两个子,分别是SomeNone(单对象) * None是一个case object,它同Some一都extends Option,只不过Some是case class, * 对于case class我们已经很熟悉了,那case object又是怎么的呢? * 对比反编译之后的代码可以看出,case ob

大唐帝国—前营 785

Scala学习笔记(三)

Scala学习笔记(三)一、模式匹配1. 简单模式匹配2. 匹配型3. 守卫4. 匹配5. 匹配数组6. 匹配列表7. 匹配元组8. 变量声明中的模式匹配8.1 获取数组中的元素8.2 获取List中的数据二、1. 定义2. 定义一个3. 可变成员变量4. 的方法4.1 apply方法4.2 toString方法4.3 equals方法4.4 hashCode方法4...

AidenBrett7的博客 856

Scala模式匹配

模式匹配要理解模式匹配(pattern-matching),先把这两个单词拆开,先理解什么是模式(pattern),这里所的模式是数据结构上的,这个模式用于描述一个结构的组成。我们很容易联想到“正则表达”里的模式,不错,这个pattern正则里的pattern相似,不过适用范围更广,可以针对各种型的数据结构,不像正则表达只是针对字符串。比如正则表达式里 “^A.*” 这个pattern 表示以A

Jason Ding的专栏 3346

Scala Option(选项)

一、概念 Scala Option(选项)型用来表示一个值是可选的(有值或无值)。 Option[T] 是一个型为 T 的可选值的容器: 如果值存在--->Some[T] ,如果不存在---> None 。 二、案 1 : val myMap: Map[String, String] = Map("key1" -> "value") val value1:...

辛聪明的博客 707

Scala模式匹配

Scala模式匹配一、基本语法二、模式守卫三、模式匹配型3.1 变量常量3.2 模式匹配的返回值3.3 匹配型3.4 泛型的型匹配3.5 匹配数组3.6 匹配元组3.7 匹配列表3.8 匹配对象(option)四、五、变量声明中的模式匹配六、for循环中的模式匹配七、偏函数 一、基本语法 匹配的值 match { case 选项 => // 代码 case 选项 => //

qq_43494678的博客 524

Scala学习日志(二)——深入模式匹配(一)

码字不易,转发请注明出处:http://blog.csdn.net/qq_28945021/article/details/51980338摘要Scala模式匹配咋一看Java中的Switch语句很相似,然而在Java中,只能匹配简单的数据表达式。Scala模式匹配则更加强大:可以使用型、通配符、序列、正则表达式。甚至可以深入获取对象的状态。本文主要以代码的形式,由简到繁的深入Scala

WRM的博客 2418

Spring 源码系列(23): SpringApplication.run() 启动全流程

本文深入解析了SpringApplication.run()的核心流程,通过源码拆解揭示了从启动到容器就绪的完整生命周期。文章重点分析了三个关键阶段:prepareEnvironment的配置加载逻辑(系统属性>环境变量>配置文件)、createApplicationContext的容器型推断机制(基于classpath判断Web/Reactive/普通应用),以及callRunners的启动后回调特性(按@Order执行初始化任务)。同时澄清了常见误区,如内嵌Tomcat实际在refresh阶段的onR

不才不才不不才的博客 401

Java 并发灵魂拷问:notify/signal 唤醒顺序是规范还是实现?

本文探讨了Java中Object.notify()Condition.signal()唤醒线程的顺序问题。关键结论如下: Object.notify(): JVM规范未规定唤醒顺序,HotSpot实现虽采用FIFO(从WaitSet头部取线程),但这属于实现细节而非规范要求 由于synchronized是非公平锁,被唤醒线程需重新竞争锁,最终执行顺序无法保证 严禁业务代码依赖该顺序 Condition.signal(): 严格按FIFO顺序唤醒(AQS等待队列头部线程) 是设计约定,业务可合理依赖该特性

weixin_68315058的博客 362

[Java]-微服务面试题

服务降级是服务自我保护的一种方式,或者保护下游服务的一种方式,用于确保服务不会受请求突增影响变得不可用,确保服务不会崩溃。微服务的负载均衡主要使用了一个组件Ribbon,比如,我们在使用feign远程调用的过程中,底层的负载均衡就是。2,我们还在skywalking设置了告警规则,特别是在项目上线以后,如果报错,我们分别设置了可以给相关负责人。简历上写的微服务,只要是发生了多个服务之间的写操作,都需要进行分布式事务控制。2,在客户端的配置文件中,可以配置某一个服务调用的负载均衡策略(局部)

. 615

Java Spring 批量修改,实体、接口、方法的定义

本文描述了一个批量更新车辆型的接口实现。该功能通过Controller层接收包含出库单ID列表车辆型的请求参数,调用Service层进行处理。实现层采用事务管理,首先验证参数有效性,然后查询对应出库单数据并批量更新车辆型字段,最后返回操作结果(成功更新记录数或错误信息)。该接口主要用于快递业务中其他出库单的车辆型批量修改操作,包含完整的参数校验、异常处理事务管理机制。

LYBWWP 53

简单聊聊 OpenFeign 框架源码

骨架:JDK 动态代理 + 方法元数据 + handler 分发, MyBatis 同一套路;主线:调用 → 填 RequestTemplate → 拦截器 → 负载均衡选实 → Client 执行 → Decoder 解码,异常走 ErrorDecoder/Retryer/fallback;Spring 整合三件事扫描注册 FactoryBean、懒构建代理、给每个客户端独立配置;面试主线。

weixin_47626220的博客 385

并发 13 · 异步编排

摘要:本文探讨了异步编排在秒杀下单场景中的应用,分析了传统Future的局限性,并介绍了CompletableFuture如何通过链式调用解决任务依赖与并行问题。文章详细讲解了创建异步任务、串联任务(thenApply/thenCompose)、合并任务(thenCombine/allOf)以及异常处理等核心方法,强调使用独立线程池避免阻塞公共资源。最后结合秒杀案,展示了如何构建高效、清晰的异步流水线,优化响应时间。全文提供代码示选型建议,帮助开发者实现高性能异步流程编排。

记录后端技术的深水区:MySQL、并发、JVM、分布式。原理为主,实战为辅,能少踩一个坑是一个。 403

LangChain4J

Prompt:好比UI层,进行用户交互Langchain4j, Spring AI:好比Controller,调用AI大模型各AI大模型:好比Service,提供人工智能服务向量数据库:好比Mapper,进行数据存储。

渔阳的博客 189

Spring Boot 实现数据脱敏:自定义注解 + Jackson 序列化器

加了它之后,@Sensitive 就等价于 @JsonSerialize(using = SensitiveJsonSerializer.class) ,Jackson才能识别并触发我们的序列化器。Jackson默认不认识我们自定义的 @Sensitive 注解,@JacksonAnnotationsInside 的作用是:允许把 @JsonSerialize 组合进自定义注解。时,数据库里存的一直是完整值,脱敏是一个展示的动作,而存储层要保护数据应该使用。的这一层比较好,下面是具体实现。

sjkflw121150的博客 213

Spring配置文件

本文系统介绍了配置文件的作用、Spring Boot支持的配置文件格式及其特点。首先阐述了配置文件解决硬编码问题、实现程序灵活配置的核心价值,并以手机字体大小为说明其应用场景。接着详细讲解了Spring Boot支持的三种配置文件格式(.properties、.yml、.yaml),包括它们的加载优先级共存规则。最后分别深入分析了properties配置文件的键值对语法、@Value注解读取方式及其冗余信息缺点,以及yml配置文件的基本语法、引号使用规则优缺点对比,为开发者选择合适的配置文件格式提供参

qq_71356343的博客 253

mysqlclient的Python2.7、3.5、3.6、3.7、3.8的whl格式安装包,含32位64位

mysqlclient的Python2.7、3.5、3.6、3.7、3.8的whl格式安装包,包括32位64位pip install /path/to/.../mysqlclient-1.4.4-cpxxxxxxxx.whl 的方式安装即可,内含whl安装包,安装方式包下载地址等其它信息之前自己花了很多时间去下载安装,希望能帮到您。也可以自己去下载:https://www.lfd.uci.edu/~gohlke/pythonlibs/,下载搜索mysqlclient即可看到下载包

TB 10418-2018 铁路通信工程施工质量验收标准.pdf

铁路运输通信工程施工质量验收标准,pdf格式TB 10418-2018 铁路通信工程施工质量验收标准

上一篇: CC00049.scala——|Hadoop&Scala.V05|——|Scala.v05|模式匹配和样例类|匹配数组|元组集合|
下一篇: CC00050.scala——|Hadoop&Scala.V06|——|Scala.v06|模式匹配和样例类|样例类|
yanqi_vip
博客等级 码龄7年 50粉丝 2636原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanqi_vip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值