• 105473

    文章

  • 803

    评论

  • 12

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

Scala的for

撸了今年阿里、腾讯和美团的面试,我有一个重要发现.......>>

在for循环中

  • 使用<-作为生成器
  • 使用if作为过滤器
  • 可以使用yield关键字将结果以集合的方式返回
    val arr = Array((1,2,2), (2,3,4), (3,4,2), (4,1,3))
    val result = for(t <- arr if t._2 > 2) yield t._1
    result.foreach(i => print(i + " "))
    // 输出 2 3
  }


  • 括号里可以放置多个生成器和过滤器和定义
  • 圆括号中,分号不能省略分号,但花括号可以
    val arr1 = Array(Array(1,2,2), Array(2,3,4), Array(3,4,2), Array(4,1,3))
    val result1 = for(a <- arr1; b<-a if b > 2 ) yield a(0)
    result1.foreach(i => print(i + " "))
    // 输出 2 2 3 3 4 4

    val result2 = for{a <- arr1
                      b<-a
                      if b > 2
                      c = b + 1} yield s"<${a(0)},${c}>"
    result2.foreach(i => print(i + " "))
    // 输出  <2,4> <2,5> <3,4> <3,5> <4,5> <4,4>
  }


695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

0条评论

Loading...


自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客