代码示例

1
2
3
4
5
6
7
8
9
10
11
12
13
package com.sky.scala.exercise17

object typeInference {
def main(args: Array[String]): Unit = {
val list = List(1, 2, 3, 4)
println(list.map((x: Int) => x + 1))
println(list.map((x) => x + 1))
println(list.map(x => x + 1))
println(list.map(_ + 1))

println(list.reduce(_ + _))
}
}
  1. map是一个高阶函数,因此也可以直接传入一个匿名函数,完成map
  2. 当遍历list时,参数类型是可以推断出来的,可以省略数据类型Intprintln(list.map((x)=>x +1))
  3. 当传入的函数I只有单个参数时,可以省去括号println(list.map(x=>x +1))
  4. 如果变量只在=→>右边只出现一次,可以用_来代替println(list.map(_ + 1))