Scala 模式匹配全解析
1. 模式匹配基础
1.1 带守卫的模式匹配
在 Scala 中,我们可以使用带守卫的模式匹配来根据条件进行匹配。以下是一个简单的示例,用于判断一个序列中的元素是奇数还是偶数:
for (i <- Seq(1,2,3,4)) {
i match {
case _ if i%2 == 0 => println(s"even: $i")
case _ => println(s"odd: $i")
}
}
上述代码的输出结果为:
odd: 1
even: 2
odd: 3
even: 4
这里需要注意的是,在 if 表达式中不需要使用括号,这与 for 推导式类似。
1.2 对 case 类的模式匹配
case 类在 Scala 中非常适合用于模式匹配,尤其是在处理嵌套类型时。以下是一个示例,展示了如何对 Person 类和 Address 类进行深度匹配:
case class Address(street: String, city: String, country: String)
case class Person(name: String
超级会员免费看
订阅专栏 解锁全文
1012

被折叠的 条评论
为什么被折叠?



