scala函式和方法的區別

2021-09-01 12:18:22 字數 440 閱讀 9031

方法函式

定義是組成類的一部分

是繼承了這些 trait 的類的物件

實現方式

def fun_name(引數列表)=

val fun  = ([引數列表]) =>

引數列表

可有,可無

必須有,但可以為空[需要保留()]

呼叫fun_name()

方法名意味著呼叫,無參是可以省略()

fun()

函式名代表函式本身,必須保留引數列表() 轉換

可轉化為函式,自動(eta擴充套件):val =  fun_name();手動:方法名  _

不可轉化為方法

scala 中的函式是乙個完整的物件。scala 中用 22 個特質(trait)抽象出了函式的概念。這 22 特質從 function1 到 function22[自行查詢]

參考:

Scala方法與函式的區別

1.函式在scala語言中,是函式程式設計的 頭等公民 2.方法是 scala 物件導向中的概念,主要定義在類,特質,抽象類中 3.函式是乙個物件,方法本質就是類中的乙個普通的方法 4.函式可以作為引數進行傳遞,可以作為返回值返回,但是方法不行 5.方法可以通過一定的語法轉成函式 def eat 將...

scala的方法和函式

def fun x int,y int int x y def 關鍵字.fun 方法名 x,y為方法引數,方法的返回型別可以不寫,編譯器自動推斷,對於遞迴函式 必須宣告其返回型別 將方法轉換為函式 scala fun 2,4 res0 int 6 scala fun res2 int,int int...

Scala 方法和函式

目錄 方法的定義 函式 定義方式 方法和函式的相互轉換 遞迴函式優化 高階函式 scala 函式柯里化 currying 柯里化 閉包 def functionname 引數列表 return type abstract class test scala 方法是類的一部分,而函式是乙個物件可以賦值給...