1. 程式人生 > >Scala學習第六彈:函式與匿名函式

Scala學習第六彈:函式與匿名函式

一、函式是第一等公民

Scala中,函式上升和變數同等的位置,或者說函式也是一種變數。

Scala中的函式可以作為實參傳遞給另一個函式;

函式可以作為返回值;

函式可以賦值給變數(這個變數需符合函式的型別的變數);

函式可以儲存在資料結構之中。

函式如同普通變數一樣,也具有型別。

二、函式型別

形式:A=>B A為輸入型別,B為輸出型別 如Int => String,把整形數變成String型別。

三、高階函式

用函式作為形參或者作為返回值的函式稱為高階函式。

四、匿名函式

用過Python的lambda函式的人能很快接受匿名函式的概念,Scala中的匿名函式和其很相似的。 匿名函式也稱為函式常量,也稱函式文字量(類比String)。 定義格式: (形參列表) => {函式體}
如: (x:Int, y:Int) => x+y val fun = (x:Int, y:Int) => x+y var funr = (x:Int, y:Int) => x+y
上面三句都是可以使用的。 fun不能重新賦值,funr可以賦值其他的型別為(Int, Int)=>Int的函式。