Scala方法與函式的區別

2021-09-01 12:40:36 字數 408 閱讀 4387

1. 函式在scala語言中,是函式程式設計的 「頭等公民」

2. 方法是 scala 物件導向中的概念,主要定義在類,特質,抽象類中

3. 函式是乙個物件,方法本質就是類中的乙個普通的方法

4. 函式可以作為引數進行傳遞,可以作為返回值返回,但是方法不行

5. 方法可以通過一定的語法轉成函式

def eat()= //將eat方法轉函式 val eat1=eat _

注意 : 方法的柯里化

概念: 將方法輸入的多個引數,轉換成乙個引數的過程,就是方法的柯里化(函式的柯里化)

//add def add(a:int ,b:int)=

//柯里化方法 def add1(a:int)(b:int)=

作用: 提高函式的執行效率,相當於對函式進行乙個消元求解的過程

scala函式和方法的區別

方法函式 定義是組成類的一部分 是繼承了這些 trait 的類的物件 實現方式 def fun name 引數列表 val fun 引數列表 引數列表 可有,可無 必須有,但可以為空 需要保留 呼叫fun name 方法名意味著呼叫,無參是可以省略 fun 函式名代表函式本身,必須保留引數列表 轉換...

scala 方法與函式

定義方法的基本格式是 def 方法名稱 引數列表 返回值型別 方法體 def add x int,y int int x y println add 1,2 也可以定義成 def add x int,y int x y 或者 def add x int,y int 沒有返回值一定要用大括號那方法體括...

scala快速上手 三 Scala 方法與函式

def fun a int b int unit fun 1,1 def fun1 a int b int a b println fun1 1,2 注意點 遞迴方法 5 的階乘 def fun2 num int int print fun2 5 包含預設引數值的函式 注意 1.預設值的函式中,如果...