scala函式和方法

2021-09-29 06:35:25 字數 1130 閱讀 4173

方法的定義:

方法總結:

1.對於只有一行**的方法體,可以省略{}

2.可以不寫返回值型別(定義遞迴方法時除外,必須帶返回值型別,否則不知道返回值型別)

def qiuhe = (x:int,x:int) =

3.定義的方法若沒有返回值,則不用寫=號,(若不寫=號,即使有返回值也不返回):返回值型別為unit,其實()是unit的乙個例項物件,如上圖標註1

4.若定義的方法,要求有返回值,則定義方法時,必須要有等號,但可以不寫返回值型別(定義遞迴函式除外)

5.若定義的方法沒有引數,則呼叫時,可以直接寫引數名而不帶括號

6.定義沒返回值型別的方法時,可以寫上返回值型別:unit

7.定義的方法即使沒有返回值,也可以寫等號,編譯器會自動推斷

8:返回值不用return

9:方法可以沒有返回值,也就是unit

函式的定義及使用:

函式總結:

1:對於只有單行的函式體,可以省略{}

2:匿名函式往往做為方法的引數被呼叫;

3:一般會將定義的函式賦值給乙個變數(相當於函式起名),後續直接通過這個變數進行呼叫即可

4:函式可以沒有返回值,也就是返回值型別為:unit

scala中函式和方法的區別:

1.scala中,函式是"頭等公民",方法不能直接被方法做為引數進行呼叫,需要先轉換為函式(神奇的下劃線,scala中,當方法作為引數被呼叫時,自動進行了轉換:通過_下劃線);

2.函式可以作為方法的引數被直接呼叫

3.二者定義方式不同,方法用def定義,函式沒有,可以直接定義匿名函式或者函式賦值給變數,後續用變數名稱呼叫

4.方法定義可以沒有引數列表,甚至可以省略(),如 def lol() = 8 或者def lol = 8 ,對函式來說,即使函式沒有引數,也要寫(),不能省略,如:

val lol2 = ()=>5

Scala 方法和函式

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

Scala方法和函式

1 方法和函式定義形式不同 2 方法就是函式,函式也是物件 3 函式可以作為引數傳遞到方法中去 方法和函式的引數最多22個 def 方法名 名稱 型別,名稱 型別 def fun1 name string,age int def 方法名 名稱 型別,名稱 型別 返回值型別 def fun2 name...

Scala方法和函式

2.遞迴方法 遞迴方法要顯式的宣告函式的返回值型別 def fun num int int else printin fun num 5 3.引數有預設值的方法 def fun a int 10,b int 20 println fun b 200 b 200傳參到b lnt 20,值為210 4....