Scala函式和匿名函式
阿新 • • 發佈:2018-12-25
一 函式是第一等公民
1、把函式作為實參傳遞給另外一個函式。 2、把函式作為返回值。 3、把函式賦值給變數。 4、把函式儲存在資料結構裡。 在Scala中,函式就像普通變數一樣,同樣也具有函式的型別。 二 函式型別 1、定義 在Scala語言中,函式型別的格式為A =>B,表示一個接受型別A的引數,並返回型別B的函式。 例子:Int => String 是把整型對映為字串的函式型別 2、程式碼package test_first
object DemoextendsApp{
println( apply( layout,10))
// 函式 f 和 值 v 作為引數,而函式 f 又呼叫了引數 v
def apply(f:Int=>String, v:Int)= f(v)
def layout(x:Int)="["+ x.toString()+"]"
def operate(f:(Int,Int)=>Int)={f(4,4)}
def add(x:Int,y:Int)=x+y
println(operate(add))
def greeting()=(name:String)=>{"hello"+" "+ name}
val test = greeting()
println(test("cakin24"))
def multiplyBy
val x=multiplyBy(10)
println(x(50))
}
package test_first
object DemoextendsApp
println( apply( layout,10))
// 函式 f 和 值 v 作為引數,而函式 f 又呼叫了引數 v
def apply(f:Int=>String, v:Int)= f(v)
def layout(x:Int)="["+ x.toString()+"]"
}
package test_first
object DemoextendsApp{
var factor =3
val multiplier =(i:Int)=> i * factor
println("multiplier(1) value = "+ multiplier(1))
println("multiplier(2) value = "+ multiplier(2))
}