Scala模式匹配下的for循环
分类:spark相关
scala编程
示例代码:
object For_Advanced { def main(args: Array[String]): Unit = {/*** for循环内部调用的源码其实是:** @inline override final* def foreach[B](f: A=> B){* var these = this* while (!these.isEmpty){*f(these.head)*these = these.tail* }* }*/for(i <- List(1,2,3,4,5)){println(i)}//变量绑定,index绑定了Flink,相当于给Flink起了个别名叫index。在这里会打印出Flinkfor(index@"Flink" <- List("Hadoop","Spark","Flink")){println(index)}//tuple元组,哪个元组符合第二个元素是Hadoop的,我们就将其过滤出来。在这里会打印出Javafor((language,"Hadoop") <- Set("Scala"->"Spark","Java"->"Hadoop")) println(language)//或者在进行匹配时,我们要求第二个元素是整数,只有第二个元素是整数时,,我们打印出它的key值。在这里会打印出Sparkfor((k,v:Int) <- List(("Spark"->5),("Hadoop"->"Big Data"))) println(k) } }
相关来源:DT大数据梦工厂,微信公众号是DT_Spark,每天都会有大数据实战视频发布,请您持续学习。
相关资料:
scala深入浅出实战经典完整视频、PPT、代码下载:
百度云盘:
腾讯微云:
360云盘: 访问密码45e2
版权声明:本文为博主原创文章,未经博主允许不得转载。
上一篇从spark源码的角度思考scala中的模式匹配
顶0踩0
有理想在的地方,地狱就是天堂