Skip to content
Scala

Pattern Matching

Destructure values and match cases in Scala.

#pattern-matching#match

Code

scala
def describe(x: Any): String = x match {
  case 0 => "zero"
  case n: Int if n > 0 => s"positive: $n"
  case s: String => s"string: $s"
  case Some(v) => s"some: $v"
  case None => "none"
  case _ => "unknown"
}

describe(5)        // "positive: 5"
describe("hi")     // "string: hi"
describe(Some(1))  // "some: 1"