scala 函式介紹

2021-07-28 12:15:56 字數 630 閱讀 2184

package day1

/** * created by lw on 2017/3/13.

* scala 函式介紹

*/object function

println(sum(3, 4, 5, 6)) // 18

// val s=sum(1 to 5) // 錯誤的傳參,傳入的是整數區間

val v = sum(1 to 5: _*) // 正確的傳參。_* 將1 to 5 轉換成引數序列

} // 1、函式的定義需要函式名稱、引數、函式體,如:

def abs(a: int) = if (a >= 0) a else -a

// 2、只要函式不是遞迴的就不必指定返回型別,遞迴函式需要指定返回型別,如:

def fac(a: int): int = if (a <= 0) 1 else a * fac(a - 1)

// 3、函式可以有預設引數:

def decorate(str: string, left: string = "") = left + str + right

// 4、函式可以 接受邊長引數列表

def sum(a: int*) =

}

scala 主建構函式 Scala 建構函式

scala建構函式 類由類成員 如字段和方法 組成。字段儲存物件的狀態,並使用val或var定義。方法完成物件的計算任務,並使用定義關鍵字def。在scala中,類的整個主體是建構函式。如果建構函式採用零引數,則可以省略引數列表。scala區分用val欄位,var欄位,private val或pri...

Scala12 Scala高階函式

scala混合了物件導向和函式式的特性,我們通常將可以作為引數傳遞到方法中的表示式叫做函式。在函式式程式語言中,函式是 頭等公民 高階函式包含 作為值的函式 匿名函式 閉包 柯里化等等。可以像任何其他資料型別一樣被傳遞和操作的函式。定義函式時格式 val 變數名 輸入引數型別和個數 函式實現和返回值...

Scala七 Scala核心一 函式

1.如果函式體只有一行 則可以不用寫 比如 def print x int println x 一行上的多條語句用分號隔開,則只有第一句屬於方法體,例如 def printwithvalue x int string println x abc 上面的 報錯,因為,printwithvalue的方法...