Scala中的函数
提纲
1、Scala中的函数简介
2、Scala中的函数的各种写法
1、Scala中的函数简介
===================
Scala是函数式编程和面向对象式编程的混合泛型语言,函数在Scala中犹如一个对象一样,可以赋给变量。
函数,又称函数字面量(function literal),也称值函数(function values),之所以这样称呼,是因为函数可以赋值给变量。
2、Scala中的函数的各种写法
========================
2.1 写法一
/*
函数字面量 function literal
=>左侧的表示输入,右侧表示转换操作
*/
scala> val increase=(x:Int)=>x+1
increase: Int => Int = <function1>
scala> println(increase(10))
11
2.2 写法二
scala> def increase(x : Int) = x + 1
2.3 多条语句时写法三
val increase = (x: Int) => {
println("xue")
println("xi")
x = x + 1
}
2.4 写法四
println(Array(1, 2, 3, 4).map((x : Int) => x + 1).mkString(","))
2.5 写法五
//花括弧写法
Array(1, 2, 3, 4).map{(x : Int) => x + 1}.mkString(",")
2.6 写法六
//省略.的写法
Array(1, 2, 3, 4) map{(x : Int) => x + 1} mkString(",")
2.7 写法七
//参数类型推断写法
Array(1, 2, 3, 4) map{(x) => x + 1} mkString(",")
2.8 写法八
//函数只有一个参数的话,可以省略()
Array(1, 2, 3, 4) map{x => x + 1} mkString(",")
2.9 写法九
//如果参数右边只出现一次,则可以进一步简化
Array(1, 2, 3, 4) map {_ + 1} mkString(",")
2.10 写法十
//val fun0 = 1 + _ 该方式不合法,因为无法进行类型推断
//值函数简化方式1
val fun1 = 1 + (_ : Double)
2.11 写法十一
//值函数简化方式2
val fun2 : (Double) => Double = 1 + _