一、总述
在《Scala编程之样本类与模式匹配》的文章中,鄙人以一个实例介绍了样本类与模式匹配,本篇介绍一个更有趣的东西:Option。
Scala为可选值提供了一个标准类型:Option。这种类型有两个值:Some(x)和None,其中x表示实际值,而None对象代表缺省值。
下面通过编写一个简单的实例实现两种功能:Option类型的两种值;解析Option类型两种值中所对应的实际值。
二、实例展示
定义一个object,其名为OptionClass。
/** * Created by user on 2016/1/21. */ object OptionClass { def paramConver(key: String): Option[String] = { val paramMap = Map("Beijing" -> "China","NewYork" -> "America", "Pairs" -> "France","Tokyo" -> "Japan") paramMap get(key) } def show(x: Option[String]) = x match { case Some(s) => s case None => "I do not know my country" } def main(args: Array[String]) { val value1 = paramConver("Beijing") println("Option one form: " + value1) val value2 = paramConver("Shanghai") println("Option another form: " + value2) val value3 = show(paramConver("NewYork")) println("Option resolve Some(x) form and x: " + value3) val value4 = show(paramConver("Nanjing")) println("Option resolve None form and that value: " + value4) } }
三、测试结果
Option one form: Some(China)
Option another form: None
Option resolve Some(x) form and x: America
Option resolve None form and that value: I do not know my country
四、后记
如果有兴趣的朋友,可以根据自己的需要来编写属于自己的程序,从而达到对Scala中Option类型的理解。
相关推荐
Scala编程实战基础教程是一本专为初学者设计的教程,旨在引领读者逐步掌握Scala这门强大的多范式编程语言。Scala结合了面向对象和函数式编程的特性,使其在处理大数据和分布式计算领域,如Apache Spark,表现出色。...
2 scala很多库在设计的时候,不理解原因,包括Option,Collection的很多看似有冗余的地方 3 很多scala的默认写法,不理解 4 多态的具体化,尤其是协变的意义所在 5 各种重载的符号使用 之前读过 programming in...
Scala编程是一种多范式的编程语言,它融合了面向对象和函数式编程的特性,由Martin Odersky在2003年设计并推出。Scala的名字是"Scalable Language"的缩写,意在表达其设计目标:能够随着程序规模的增长而轻松扩展。...
### Scala编程语言详解知识点 #### 一、Scala简介与特性 **Scala** 是一门结合了面向对象编程和函数式编程特点的多范式编程语言。它由 Martin Odersky 在瑞士洛桑联邦理工学院(EPFL)开发。Scala 的名称来源于 ...
Scala编程是现代软件开发中的一个强大工具,尤其在大数据处理、云计算和分布式系统领域中广泛应用。这个压缩包“Scala编程-前13章-p183.7z”包含了Scala编程语言的基础到进阶知识的前13章节,旨在帮助初学者和开发者...
Scala 是一种多范式的编程语言,它融合了面向对象和函数式编程的特性。下面将详细解释题目中涉及的Scala知识点: 1. **var、val 和 def 的区别**: - `var` 定义可变变量,可以多次赋值。 - `val` 定义不可变变量...
《快学Scala(完整中文版)》是一本专为希望深入学习大数据技术并掌握Scala编程语言的读者设计的书籍。Scala,全称“Scalable Language”,是一种多范式、静态类型、面向对象和函数式的编程语言,它在大数据处理领域...
### Scala编程基础知识点详解 #### 一、课程目标与概述 **课程目标**: 1. **初级目标**:能够熟练地使用Scala编写Spark程序。这包括掌握Scala的基础语法以及如何结合Spark进行数据处理。 2. **中级目标**:能够...
此外,你还将了解Scala的模式匹配和异常处理机制,这些都是Scala编程的基础。 "Scala进阶之路-part02-集合.pdf"将带你深入了解Scala的集合库,它是Scala语言的一大亮点。这部分会讲解如何使用List、Set、Map等集合...
在本实验中,我们将深入探讨如何使用Apache Spark和Scala编程语言处理大数据问题,特别是通过一个名为" Cause of death"的案例研究。Spark是分布式计算框架,而Scala是一种强大的多范式编程语言,常用于构建高性能的...
Scala的Option类型是一种强大的工具,它在编程中用于处理可能缺失的值,从而避免常见的空指针异常(NullPointerException)。在Scala中,Option是标准库中的一个类,它有两个子类:Some和None。Option作为容器,可以...
《Programming In Scala》是一本权威的Scala编程语言教程,它由Martin Odersky(Scala的创造者)、Lex Spoon 和 Bill Venners 共同编写。中文版包含了1到13章的内容,这些章节涵盖了Scala的基础知识和基本应用,适合...
在这个名为"学习scala好的项目"的压缩包中,我们可以期待找到一系列有助于初学者掌握Scala编程的知识资源。 首先,让我们深入探讨Scala的基础知识。Scala的语法简洁而富有表现力,它的类型系统支持静态类型检查,有...
《原子Scala示例》是基于Scala编程语言的一系列实践代码,源自知名编程书籍《Atomic Scala》。这本书旨在帮助读者深入理解Scala的编程理念和语法特性,通过实例化学习,让初学者和经验丰富的开发者都能从中受益。这...
学习Scala并发编程,除了阅读指定的《Scala编程》或《Scala编程思想》书籍外,还可以参考Akka官方文档,参与开源项目,进行实战练习,以提升对并发编程的理解和实践能力。同时,理解并熟练使用Scala的`monad`,特别...
Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的特性,使得它在处理复杂数据和并发问题时表现出色。Scala的名字来源于"Scalable Language"的缩写,表明它能够平滑地扩展从小型脚本到大型应用。 ...
Scala中集合的使用 大学生 1. List 列表的使用 2. Set 集合的使用 3.Map 映射的使用 4. 元组的使用
它为Scala类型系统增加了新的类型类,这些类型类定义了诸如map、flatMap、pure等函数,使得常见的函数式编程操作可以直接应用于Scalaz的类型上,如Option、List、Future等。 使用Scalaz的开发者需要对Scala语言有...
Scala-2.12.8源码包是Scala编程语言的2.12.8版本的源代码,允许开发者深入理解其内部工作原理,进行调试、扩展或定制。以下是关于Scala-2.12.8源码包的一些关键知识点: 1. **类型系统**:Scala的类型系统是其强大...
总之,Scala源码2.11.x是一个深入学习Scala编程语言的宝贵资料,涵盖了编译器、标准库、类型系统、特性实现等多个方面。通过阅读和分析这些源码,开发者不仅可以提升对Scala的理解,还能汲取其设计思想,提高自己的...