1.Scala有哪几种常用的模式匹配用法?请举例说明。
时间: 2024-05-12 14:16:18 浏览: 14
Scala常用的模式匹配用法有以下几种:
1. 值匹配模式:用于匹配具体的值,例如:
```
val x = 2
x match {
case 1 => println("匹配到1")
case 2 => println("匹配到2")
case _ => println("匹配失败")
}
```
2. 类型匹配模式:用于匹配数据类型,例如:
```
val x: Any = "abc"
x match {
case s: String => println("字符串类型")
case i: Int => println("整数类型")
case _ => println("其他类型")
}
```
3. 构造器模式:用于匹配类的构造器参数,例如:
```
case class Person(name: String, age: Int)
val p = Person("张三", 20)
p match {
case Person("李四", age) => println("匹配到李四")
case Person(name, age) => println(s"匹配到$name, 年龄为$age")
}
```
4. 序列模式:用于匹配序列,例如:
```
val seq = Seq(1, 2, 3, 4, 5)
seq match {
case Seq(1, 2, _*) => println("匹配到以1和2开头的序列")
case _ => println("匹配失败")
}
```
5. 变量模式:用于将匹配到的值绑定到变量上,例如:
```
val x = 5
x match {
case i: Int => println(s"匹配到整数类型,值为$i")
case s: String => println(s"匹配到字符串类型,值为$s")
case _ => println("匹配失败")
}
```