scala教程:yield作用 作者:马育民 • 2021-12-04 18:44 • 阅读:10146 # yield 作用 for 循环中的 `yield` 会把当前的元素记下来,保存在集合中,循环结束后将返回该集合。 Scala 中 `for` 循环是有返回值的: - 被循环的是 `Array`,返回的就是 `Array` - 被循环的是 `List`,返回的就是 `List` - 被循环的是 `Map`,返回的就是 `Map` # 案例 循环的返回值 ``` val arr = Array(1,20,300) val resArr = for (item <- arr) yield item * 2 println(resArr.getClass.getSimpleName) println(resArr.mkString(",")) ``` **说明:**将遍历过程中处理的结果返回到一个新 `Array` 中 **注意:**开发中很少使用,这里为了演示功能 ### 相当于下面代码 ``` def main(args: Array[String]): Unit = { val arr = Array(1, 20, 300) val resArr = new Array[Int](arr.length) for (i <- 0 until arr.length) { val res = arr(i) * 2 resArr(i) = res } println(resArr.getClass.getSimpleName) println(resArr.mkString(",")) } ``` 原文出处:http://malaoshi.top/show_1IX2LXjyjxi5.html