Scala学习笔记3 (Functional Programming)
3. FP 3.1. 函数 函数的地位和一般的变量是同等的,可以作为函数的参数,可以作为返回值。 传入函数的任何输入是只读的,比如一个字符串,不会被改变,只会返回一个新的字符串。 Java 里面的一个问题就是很多只用到一次的 private 方法,没有和使用它的方法紧密结合; Scala 可以在函数里面定义函数,很好地解决了这个问题。 3.1.1. 函数定义 函数和方法一般用 def 定义;也可以用 val 定义 匿名函数 ,或者定义 函数别名 。 def m0(x:Int) = x*x val m1 = (x:Int)=> x*x // 用 (), () 是必须的 val m2 = {x:Int=> x*x} // 用 {}, {} 是必须的 m0(10) // 100 m1(10) // 100 m2(10) // 100 不需要返回值的函数,可以使用 def f() {...} ,永远返回 Unit (即使使用了 return ) , 即: def f() {...} 等价于 def f():Unit = {...} 例如: def f() { return "hello world" } f() // Unit ,而不是 "hello world" 需要返回值的函数,用 def f() = {...} 或者 def f = {...} def f() = { "hello