Scala中的函数

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 + _

 

posted @ 2017-12-25 18:31  zhangzl419  阅读(283)  评论(0编辑  收藏  举报