在scala中,我们可以对类型进行模式匹配。因此可以将变量绑定到匹配的模式与类型。现在有界变量的类型为Any
val a: Any = "hello"
a match {
case v @ String {
v.length() // not working
}
}
答案 0 :(得分:4)
您的语法不是正确 !!!,它应该是:
val a: Any = "hello"
a match {
case v: String => v.length()
}
使用:
匹配类型,=>
使用下一个block
答案 1 :(得分:0)
要对类型进行模式匹配,请遵循@chengpohi中公开的语法。
绑定运算符@
用于指代在模式匹配中提取的数据的(子)结构。例如在
("hello",123) match {
case t @ (fst: String, snd: Int) => println(s"got tuple $t")
case _ =>
}
标签t
指的是整个元组,无需表示fst
和snd
。