scala的For表达式怎么使用

2023-04-24 00:11:00 scala 表达式

Scala的For表达式是一种灵活的语法,用于构建复杂的控制结构,它可以用于迭代、过滤、映射和折叠操作。它可以用于替代while循环或者for循环,以更简洁的方式完成相同的任务。

Scala的For表达式由三部分组成:生成器,过滤器和步骤。生成器用于指定要迭代的集合,过滤器用于指定迭代的条件,步骤用于指定每次迭代后要做的操作。

Scala的For表达式的基本语法如下:

for(变量 <- 集合;过滤器) 步骤

其中,变量是要迭代的变量,集合是要迭代的集合,过滤器是指定迭代条件,步骤是指定每次迭代后要做的操作。

下面是一个简单的例子,它使用for表达式来打印一个数组中的所有元素:

val arr = Array(1,2,3,4,5)
for(i <- arr) println(i)

上面的代码将打印出数组arr中的所有元素:1,2,3,4,5。

此外,我们还可以使用for表达式来过滤数组中的元素,只打印满足某些条件的元素,例如:

for(i <- arr if i % 2 == 0) println(i)

上面的代码只会打印出数组arr中满足i % 2 == 0的元素,也就是偶数:2,4。

此外,我们还可以使用for表达式来映射或折叠数组中的元素,例如:

// 映射
val doubled = for(i <- arr) yield i * 2

// 折叠
val sum = (0 /: arr)(_ + _)

上面的代码将会创建一个新的数组doubled,其中的每个元素都是原数组arr中的元素的两倍;同时也会创建一个变量sum,表示数组arr中所有元素的和。

以上就是Scala的For表达式的基本使用方法。它可以让我们更简洁地完成复杂的控制结构,是Scala程序员的一个重要工具。

相关文章