Scala學習(3) 定義函式和函式的使用

2021-08-21 10:39:29 字數 1465 閱讀 4832

/**

* 判斷x是否大於y

* @param x

* @param y

* @return x>y返回true,否則返回false

*/def max(x:int,y:int):boolean =

/*** 找出兩個值中的最大值,如果中只有一行**,可以省略

* @param x

* @param y

* @return x>y返回x,否則返回y

*/def max1(x:int,y:int):int =

/*** max2的簡寫,如果函式體只有一行**,可以省略

* @param x

* @param y

* @return

*/def max3(x:int,y:int):int = if (x>y) x else y

/*** 如果乙個函式有返回值,

* 可以通過函式體內的最後一行表示式推斷出來

* 因此返回值型別可以省略

* @param x

* @param y

* @return

*/def max4(x:int,y:int) = if (x>y) x else y

//將函式賦值給乙個變數,

// 下劃線的含義:

val max5 = max4 _

//定義乙個函式,列印陣列中的元素

def printarray(arr:array[string]):unit = \t")

} //如果乙個函式,沒有返回值,返回值型別用unit表示,

// unit可以省略,「=」也可以省略

def printarray1(arr:array[string])

//函式體只有一行時,可以省略「[}」,

//注意:這種情況下「=」和「{}」不能同時省略

def printarray2(arr:array[string]) = for (value <- arr) println(value)

val max5 = max4 _

//定義乙個函式,列印陣列中的元素

def printarray(arr:array[string]):unit = \t")

} //如果乙個函式,沒有返回值,返回值型別用unit表示,

// unit可以省略,「=」也可以省略

def printarray1(arr:array[string])

//函式體只有一行時,可以省略「[}」,

//注意:這種情況下「=」和「{}」不能同時省略

def printarray2(arr:array[string]) = for (value <- arr) println(value)

main函式測試

def main(args: array[string]): unit =

scala基礎3 函式

常規函式 def f x int int 無返回值,使用unit def f unit unit和其他型別都可以省略,scala可以執行判斷函式的返回型別 def f f def f print f 無返回值,可以省略,unit不能寫 def f 無參函式 def f println hello f...

Scala 學習筆記 五 定義匿名函式

匿名函式就是乙個沒有名字函式,不是顯式定義的,scala 中定義匿名函式的語法很簡單,箭頭左邊是引數列表,右邊是函式體。使用匿名函式後,我們的 變得更簡潔了。下面的表示式就定義了乙個接受乙個int型別輸入引數的匿名函式 object test7 編譯執行 root node1 scala scala...

Scala函式和匿名函式

一 函式是第一等公民 1 把函式作為實參傳遞給另外乙個函式。2 把函式作為返回值。3 把函式賦值給變數。4 把函式儲存在資料結構裡。在scala中,函式就像普通變數一樣,同樣也具有函式的型別。二 函式型別 1 定義 在scala語言中,函式型別的格式為a b,表示乙個接受型別a的引數,並返回型別b的...