1、變種1,乙個引數
//第一種 乙個引數
def pla1(a1:string): unit =
2、變種2,兩個引數
//第二種 兩個引數
def pla2(a1:string,a2:string): unit =
pla2(a2 = "hei",a1 = "haha")
3、變種3,引數預設值
//第三種 引數預設值
def pla3(a1:string,a2:string="heihei"): unit =
4、變種4,無限變長引數
//第四種 無限引數
def pla4(a1:string,a2:string*): unit =
5、變種5,省略返回型別
//第五種 省略返回型別,可以有返回值,
// 自動推斷型別,但是不能顯示的使用return
def pla5(a1:string)=
6、變種6 指定返回型別
//第六種 顯示返回型別,這裡可以使用return,也可以不使用
// scala 建議不用寫
// 沒有寫返回型別的時候,不能使用return關鍵字
// 指定了返回型別後,可以使用return,也可以不使用return
def pla6(a1:string): int =
7、變種7,省略等於號 –> 方法 + 匿名函式
//第七種 省略等於號
//這裡沒有顯示返回型別,但是可以使用return關鍵字了
//因為這是乙個方法,而不是乙個函式
//有等號是函式
//pla7 是乙個 方法,不是乙個函式,函式是一定要寫上等於號的
def pla7(a1:string)
//那麼函式什麼時候可以不寫等於號呢?? 匿名函式
(a1:string) => println(a1.length)
//f1 是變數名, 這個匿名函式沒有名字,這個函式賦值給乙個變數而已,函式也是物件
//我們可以通過這個變數名,來呼叫這個函式
val f1 = (a1:string) => println(a1.length)
f1("haha")
//函式還可以給函式傳值,函式套函式,函式柯里化,這些就屬於scala函式的高階函式
黑猴子的家 Scala 佇列 Queue
佇列資料訪問,符合先進先出策略 1 佇列的建立 import root scala.collection.mutable import scala.collection.mutable val q1 new mutable.queue int println q1 2 佇列元素的追加 q1 1 pr...
黑猴子的家 Scala 密封類
如果想讓case類的所有子類都必須在申明的該類的相同的檔案中定義,可以將樣例類的通用超類宣告為sealed,叫做密封類,密封就是外部使用者不能在其他檔案中定義子類。不能被繼承只能自己用 sealed abstract class trafficlightcolor case object red e...
黑猴子的家 Scala 引數(型別)推斷
傳入函式表示式 highorderfunction1 x double 3 x 引數推斷省去型別資訊 highorderfunction1 x 3 x 單個引數可以省去括號 highorderfunction1 x 3 x 如果變數旨在 右邊只出現一次,可以用 來代替 highorderfuncti...