14.3 匿名函数

在 Scala 中, 可以不用给每个函数命名, 正如不用给每个数字命名一样.

没有函数名的函数就是匿名函数.

一个匿名函数:

// 下面就是一个匿名函数: 接收一个 Double 类型的参数, 返回这个值的平方
(x: Double) => x * x
`

匿名函数一般用在 3 个地方:

  1. 函数表达式

    // 把匿名函数作为值存储在变量中
    val square = (x: Double) => x * x
    println(square(100))
    
  2. 作为参数传递

    val list: List[Int] = List(10, 20, 30).map((x: Int) => x * x)
    println(list)
    
  3. 作为值返回

    object AnonymousDemo1 {
    def main(args: Array[String]): Unit = {
     val f1: Int => Int = foo()
     println(f1(10))
     println(foo()(1000))
    }
    
    def foo(): Int => Int = {
     // 匿名函数作为值返回
     x: Int => x * 2
    }
    
Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2018-12-13 15:34:26

results matching ""

    No results matching ""