标签:
今天学习了模式匹配下的for循环内容。让我们从代码实战角度出发。
for(i<-List(1,2,3,4,5)) println(i)//实际上调用的是foreach
for(index@"Flink" <- List("hadoop","spark","Flink")) println(index)//为参数起了个别名进行匹配
for((language,"hadoop") <- Set("scala"->"spark","java"->"hadoop")) println(language)//给一个参数初始化进行匹配
for((k,v:Int) <- List(("spark",5),("hadoop","bigdata"))) println(v) //通过类型进行匹配
让我们挨个进行分析。第一个大家都很熟悉,循环遍历元素。这里要讲的是,其实在循环中,我们使用的是foreach。
def foreach[B](f: A => B) {
var these = this
while (!these.isEmpty) {
f(these.head)
these = these.tail
}
}
第二个,我们将index赋予了别名Flink,通过别名的方式进行匹配,然后打印。这里使用的也是foreach:
def foreach[U](f: A => U): Unit
第三个,我们给键值中的其中一个进行初始化,然后通过初始化的值进行模式匹配。这里使用的也是foreach:
def foreach[U](f: A => U): Unit
最后一个,我们通过给键值定义类型的方式进行模式匹配,这里使用的也是foreach:
def foreach[U](f: A => U): Unit
分享下更多的scala资源吧:
百度云盘:http://pan.baidu.com/s/1gd7133t
微云云盘:http://share.weiyun.com/047efd6cc76d6c0cb21605cfaa88c416
360云盘: http://yunpan.cn/cQN9gvcKXe26M (提取码:13cd)
信息来源于 DT大数据梦工厂微信公众账号:DT_Spark
关注微信账号,获取更多关于scala学习内容
标签:
原文地址:http://www.cnblogs.com/qingyuesama/p/4695373.html