偏函数与Option类型

偏函数
1.1 定义

偏函数提供了更简洁的语法,可以简化函数的定义。配合集合的函数式编程,可以让代码更加优雅。
所谓的偏函数是指 被包在花括号内没有 match的一组case语句 , 偏函数是PartialFunction[A, B]类型的的一个实例对
象, 其中A代表输入参数类型, B代表返回结果类型.

1.2 语法格式
val 对象名 :PartialFunction[类型1,类型2]= { //这对大括号及其内部的一组case语句, 就组成了一个偏函数.
  case1 => 表达式1
  case2 => 表达式2
  case3 => 表达式3
 ...
}
1.3案例
 def main(args: Array[String]): Unit = {
  //1. 定义一个偏函数, 根据指定格式返回
  val pf:PartialFunction[Int,String] = {
   case 1 => "一"
   case 2 => "二"
   case 3 => "三"
   case _ => "其他"
 }
  //2. 调用方法
  println(pf(1))
  println(pf(2))
  println(pf(3))
  println(pf(4))
}
Option类型
1.1概述

实际开发中, 在返回一些数据时, 难免会遇到空指针异常(NullPointerException), 遇到一次就处理一次相对来讲还是比较繁琐的. 在Scala中, 我们返回某些数据时,可以返回一个Option类型的对象来封装具体的数据,从而实现有效的避免空指针异常。

1.2格式

Scala中,Option类型表示可选值。这种类型的数据有两种形式:

  1. Some(x) :表示实际的值

    image-20210329150229904
  2. None :表示没有值

    image-20210329150300878

注意 : 使用getOrElse方法,当值为None时可以指定一个默认值.

案例

// 案例: 演示Option类型
object ClassDemo10 {
 //1. 定义一个两个数相除的方法,使用Option类型来封装结果
 def div(a:Int, b:Int) = {
  if (b == 0) {
   None    //除数为0, 没有结果.
 } else {
   Some(a / b) //除数不为0, 返回具体的结果.
 }
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值