在Scala中,函數可以使用def關鍵字來定義,語法如下:
def functionName(parameter1: Type, parameter2: Type, ...): ReturnType = {
// 函數體
// 可以包含多行代碼
// 返回值為最后一行代碼的結果
}
例如,定義一個簡單的加法函數:
def add(x: Int, y: Int): Int = {
x + y
}
函數的使用則使用函數名加上參數列表的方式調用,例如:
val result = add(2, 3)
println(result) // 輸出 5
除了def關鍵字外,Scala還提供了匿名函數的方式來定義函數,例如:
val add = (x: Int, y: Int) => x + y
使用匿名函數的方式調用:
val result = add(2, 3)
println(result) // 輸出 5
另外,Scala還支持高階函數,即函數可以作為參數傳遞給其他函數或者作為返回值返回,例如:
def operate(func: (Int, Int) => Int, x: Int, y: Int): Int = {
func(x, y)
}
val result = operate((x, y) => x + y, 2, 3)
println(result) // 輸出 5