logo
  • 教程列表
  • SO官方文檔
  • 模式匹配
    • 簡單模式匹配
    • Seq 上的模式匹配
    • 警衛(如果表達)
    • 與正規表示式匹配的模式
    • 與穩定識別符號匹配的模式
    • 匹配選項
    • 模式匹配密封特徵
    • 圖案裝訂器()
    • 與案例類匹配的模式
    • 模式匹配型別
    • 模式匹配編譯為 tableswitch 或 lookupswitch
    • 一次匹配多個模式
    • 模式匹配元組
  1. StackOverflow 文件
  2. Scala Language 教程
  3. 模式匹配
  4. 匹配選項

匹配選項

Created: November-22, 2018

如果你匹配選項型別:

def f(x: Option[Int]) = x match {
    case Some(i) => doSomething(i)
    case None    => doSomethingIfNone
}

這在功能上等同於使用 fold 或 map / getOrElse:

def g(x: Option[Int]) = x.fold(doSomethingIfNone)(doSomething)
def h(x: Option[Int]) = x.map(doSomething).getOrElse(doSomethingIfNone)
  • 模式匹配密封特徵
  • 與穩定識別符號匹配的模式

Copyright © 2018. All right reserved

tastones.com 备案号:鲁ICP备18045372号-1

  • 關於本站
  • 免責聲明