1.scala的函式預設都有返回,unit類似c#裡面的void
def funtion(): unit =
以上的無返回值函式可以簡寫和c#類似
def funtion()
2.基於簡潔的追求,scala可以偷懶的地方就 ,如下是帶返回值的3個等價函式
def adda(x:int):int=
def addb(x:int)=x+100 //上面的簡寫
var addc=(x:int)=>x+100 //這個類似於lamda
3.遞迴函式必須宣告其返回值的型別,如下面的階乘
def fac(n:int):int=if(n>1) n*fac(n-1) else 1
4.帶預設引數的函式,和c#類似
def combine(str1:string,str2:string="i",str3:string="love")=str2+" "+str3+" "+str1
5.可變引數函式和c#中的param型別類似,下面是求1-5的和
def sum(args:int*)=
def main(args:array[string])
6.lazy關鍵字,延遲載入 類似於ef框架的延遲查詢。用的時候才會去例項化
如:file若為空,你不使用file的時候是不會報錯的lazy val file=source.fromfile("d:\\t1.txt")
for(line<-file.getlines())
07 詳解scala函式程式設計
在main函式體外面的原始碼 def test str string unit def main args array string unit 在main函式體裡面的原始碼 def main args array string unit test 張三 def test unit def test1...
scala 遞迴函式呼叫原理詳解
分享今天看到的一句話,與大家共勉。先看做了什麼,再看能做什麼,最後才考慮想做什麼。今天在覆盤scala呼叫遞迴函式,下面用一段 來分析一下 問題引入 猴子吃桃子問題 有一堆桃子,猴子第一天吃了其中的一半,並再多吃了乙個!以後每天猴子都吃其中的一半,然後 再多吃乙個。當到第十天時,想再吃時 還沒吃 發...
scala 主建構函式 Scala 建構函式
scala建構函式 類由類成員 如字段和方法 組成。字段儲存物件的狀態,並使用val或var定義。方法完成物件的計算任務,並使用定義關鍵字def。在scala中,類的整個主體是建構函式。如果建構函式採用零引數,則可以省略引數列表。scala區分用val欄位,var欄位,private val或pri...