`

Scala编程之Option

 
阅读更多

一、总述

       在《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这门强大的多范式编程语言。Scala结合了面向对象和函数式编程的特性,使其在处理大数据和分布式计算领域,如Apache Spark,表现出色。...

    Scala函数式编程

    2 scala很多库在设计的时候,不理解原因,包括Option,Collection的很多看似有冗余的地方 3 很多scala的默认写法,不理解 4 多态的具体化,尤其是协变的意义所在 5 各种重载的符号使用 之前读过 programming in...

    Scala编程完整版

    Scala编程是一种多范式的编程语言,它融合了面向对象和函数式编程的特性,由Martin Odersky在2003年设计并推出。Scala的名字是"Scalable Language"的缩写,意在表达其设计目标:能够随着程序规模的增长而轻松扩展。...

    Scala编程语言详解(从入门到精通)spark

    ### Scala编程语言详解知识点 #### 一、Scala简介与特性 **Scala** 是一门结合了面向对象编程和函数式编程特点的多范式编程语言。它由 Martin Odersky 在瑞士洛桑联邦理工学院(EPFL)开发。Scala 的名称来源于 ...

    Scala编程-前13章-p183.7z

    Scala编程是现代软件开发中的一个强大工具,尤其在大数据处理、云计算和分布式系统领域中广泛应用。这个压缩包“Scala编程-前13章-p183.7z”包含了Scala编程语言的基础到进阶知识的前13章节,旨在帮助初学者和开发者...

    Scala考试题1

    Scala 是一种多范式的编程语言,它融合了面向对象和函数式编程的特性。下面将详细解释题目中涉及的Scala知识点: 1. **var、val 和 def 的区别**: - `var` 定义可变变量,可以多次赋值。 - `val` 定义不可变变量...

    快学Scala(完整中文版)

    《快学Scala(完整中文版)》是一本专为希望深入学习大数据技术并掌握Scala编程语言的读者设计的书籍。Scala,全称“Scalable Language”,是一种多范式、静态类型、面向对象和函数式的编程语言,它在大数据处理领域...

    scala编程基础

    ### Scala编程基础知识点详解 #### 一、课程目标与概述 **课程目标**: 1. **初级目标**:能够熟练地使用Scala编写Spark程序。这包括掌握Scala的基础语法以及如何结合Spark进行数据处理。 2. **中级目标**:能够...

    最好的scala学习 课件

    此外,你还将了解Scala的模式匹配和异常处理机制,这些都是Scala编程的基础。 "Scala进阶之路-part02-集合.pdf"将带你深入了解Scala的集合库,它是Scala语言的一大亮点。这部分会讲解如何使用List、Set、Map等集合...

    大数据编程Cause of death-使用spark scala编程完成的实验源码

    在本实验中,我们将深入探讨如何使用Apache Spark和Scala编程语言处理大数据问题,特别是通过一个名为" Cause of death"的案例研究。Spark是分布式计算框架,而Scala是一种强大的多范式编程语言,常用于构建高性能的...

    scala的Option类型

    Scala的Option类型是一种强大的工具,它在编程中用于处理可能缺失的值,从而避免常见的空指针异常(NullPointerException)。在Scala中,Option是标准库中的一个类,它有两个子类:Some和None。Option作为容器,可以...

    Programming In Scala 中文版及英文版

    《Programming In Scala》是一本权威的Scala编程语言教程,它由Martin Odersky(Scala的创造者)、Lex Spoon 和 Bill Venners 共同编写。中文版包含了1到13章的内容,这些章节涵盖了Scala的基础知识和基本应用,适合...

    学习scala好的项目

    在这个名为"学习scala好的项目"的压缩包中,我们可以期待找到一系列有助于初学者掌握Scala编程的知识资源。 首先,让我们深入探讨Scala的基础知识。Scala的语法简洁而富有表现力,它的类型系统支持静态类型检查,有...

    atomic-scala-examples

    《原子Scala示例》是基于Scala编程语言的一系列实践代码,源自知名编程书籍《Atomic Scala》。这本书旨在帮助读者深入理解Scala的编程理念和语法特性,通过实例化学习,让初学者和经验丰富的开发者都能从中受益。这...

    Scala并发编程程.rar

    学习Scala并发编程,除了阅读指定的《Scala编程》或《Scala编程思想》书籍外,还可以参考Akka官方文档,参与开源项目,进行实战练习,以提升对并发编程的理解和实践能力。同时,理解并熟练使用Scala的`monad`,特别...

    Scala.pdf中文高清第二版

    Scala是一种强大的多范式编程语言,它融合了面向对象和函数式编程的特性,使得它在处理复杂数据和并发问题时表现出色。Scala的名字来源于"Scalable Language"的缩写,表明它能够平滑地扩展从小型脚本到大型应用。 ...

    头歌Scala中集合的使用

    Scala中集合的使用 大学生 1. List 列表的使用 2. Set 集合的使用 3.Map 映射的使用 4. 元组的使用

    scala函数式编程-scalaz

    它为Scala类型系统增加了新的类型类,这些类型类定义了诸如map、flatMap、pure等函数,使得常见的函数式编程操作可以直接应用于Scalaz的类型上,如Option、List、Future等。 使用Scalaz的开发者需要对Scala语言有...

    scala-2.12.8 源码包

    Scala-2.12.8源码包是Scala编程语言的2.12.8版本的源代码,允许开发者深入理解其内部工作原理,进行调试、扩展或定制。以下是关于Scala-2.12.8源码包的一些关键知识点: 1. **类型系统**:Scala的类型系统是其强大...

    scala源码-2.11.x.zip

    总之,Scala源码2.11.x是一个深入学习Scala编程语言的宝贵资料,涵盖了编译器、标准库、类型系统、特性实现等多个方面。通过阅读和分析这些源码,开发者不仅可以提升对Scala的理解,还能汲取其设计思想,提高自己的...

Global site tag (gtag.js) - Google Analytics