一 函数是第一等公民
1、把函数作为实参传递给另外一个函数。
2、把函数作为返回值。
3、把函数赋值给变量。
4、把函数存储在数据结构里。
在Scala中,函数就像普通变量一样,同样也具有函数的类型。
?
二 函数类型
1、定义
在Scala语言中,函数类型的格式为A =>B,表示一个接受类型A的参数,并返回类型B的函数。
例子:Int => String 是把整型映射为字符串的函数类型
2、代码
package test_first
- object Demo extends App{
- println( apply layout,10))
- // 函数 f 和 值 v 作为参数,而函数 f 又调用了参数 v
- def applyf:Int=>String v= fv)
- def layoutx="["+ x.toString()+"]"
- def operate:(IntInt)=>Int)={(4)}
- def addy)=y
- operateadd))
- def greeting=(name:String=>{"hello"" " name}
- val test greeting()
- test("cakin24"))
- def multiplyByfactor:Double)=()=>*x
- val xmultiplyBy)
- 50}
3、运行结果
[10]
8
hello?cakin24
500.0
三 高阶函数
用函数作为形参或返回值的函数,称为高阶函数。
def operate(f:(Int,Int)=>Int)={f(4,4)}
def greeting() =(name:String) =>{"hello" + " " + name}
"]"
}
3、运行结果