scala中for循环中得模式匹配

scala中最基本的for表达式,跟java是同样的
java

for(x <- collection) { bibibibibib }

用x来迭代出collection中得每个元素
spa

在看一些其余的例子scala

scala> for(i <- List(1,2,3)) println(i)
1
2
3

同时在scala中有变量绑定的概念,咱们能够为变量i绑定集合中得一个元素
code

scala> for(i@2 <- List(1,2,3)) println(i)
2

这样就只能匹配到集合中得2元素了
io

在scala中,咱们能够直接使用for循环中得筛选功能,这里面就有点模式匹配的味道了。
for循环

scala> for((name,"female")<- Set("wang"->"male","zhang"->"female","h"->"female")) println(name+" ")
zhang 
h

筛选出集合中都是女性的人的名字class

一样,咱们还可使用类型模式在集合中过滤特定类型的元素出来
变量

scala> for((k,v:Int) <- List(("A"->2),("B"->"C"))) {println(k)}
A
相关文章
相关标签/搜索