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的方法...