文章

scala中的for

scala中的for1.for循环怎么写2.for守卫3.嵌套for4.for返回值5.for循环条件太多6.switch与matchgit地址https://github.com/a18792721831/studyScala.git1.for循环怎么写在scala中for循环是如何写的?执行结果如下第二种写法依然有其他的方式实现在for循环中,to包含截至范围,untail..._scala中for

scala中的for

文章信息

  • 原文链接:https://jiayq.blog.csdn.net/article/details/104235618
  • 发布时间:2020-02-09 15:50:26
  • 阅读量:749
  • 分类:scala专栏收录该内容, 订阅专栏
  • 标签:#scala for循环, #scala for循环的写法, #scala for循环守卫, #scala for循环条件太多, #scala switch实现

摘要

文章浏览阅读749次。scala中的for1.for循环怎么写2.for守卫3.嵌套for4.for返回值5.for循环条件太多6.switch与matchgit地址https://github.com/a18792721831/studyScala.git1.for循环怎么写在scala中for循环是如何写的?执行结果如下第二种写法依然有其他的方式实现在for循环中,to包含截至范围,untail…_scala中for


scala中的for

  • 1.for循环怎么写
  • 2.for守卫
  • 3.嵌套for
  • 4.for返回值
  • 5.for循环条件太多
  • 6.switch与match

git地址
https://github.com/a18792721831/studyScala.git

1.for循环怎么写

在scala中for循环是如何写的?
在这里插入图片描述
执行结果如下
在这里插入图片描述
第二种写法依然有其他的方式实现
在这里插入图片描述
在for循环中,to包含截至范围,untail不包含截至范围。

2.for守卫

在for循环中,我们经常需要在for循环中进行判断,只有符合要求,符合条件的值,我们才会进行操作。
所以,在scala中提出了for的守卫
for守卫类似如下的写法
在这里插入图片描述
这样的写法就是说,在1~6中,只有偶数才会输出。
上述写法等价于
在这里插入图片描述

3.嵌套for

有时候,一个for并不能满足我们的要求,需要写多重的for循环才能满足要求。
那么,for循环嵌套如何进行实现呢?
在这里插入图片描述
这样就输出了18行
在这里插入图片描述
当然,嵌套for循环和for守卫可以结合使用。

4.for返回值

有时候,我们需要在for循环中过滤一些数据,以便得到我们需要的值
所以,在for循环中可以使用yield进行返回(ps,jdk新特性就是借鉴这里的)
在这里插入图片描述
这个输出
在这里插入图片描述

5.for循环条件太多

因为for循环支持比较多的写法,所以有时候,for循环里面的条件就比较多,比较乱。
为了解决这个问题,for循环条件可以用花括弧包起来,像写代码块一样进行写。
在这里插入图片描述

6.switch与match

在scala中没有switch的,为了实现这一类的需求,有了scala中的模式匹配。
当然,模式匹配也是一部分非常大的内容,所以这里只考虑用模式匹配实现java中的switch。
当然,在scala中可能有更好的选择。
在这里插入图片描述
输出如下:
在这里插入图片描述

本文由作者按照 CC BY 4.0 进行授权