方法引數
scala中的方法引數,使用比較靈活。它支援以下幾種型別的引數:
預設引數
帶名引數
變長引數
1、預設引數
在定義方法時可以給引數定義乙個預設值。
示例定義乙個計算兩個值相加的方法,這兩個值預設為0
呼叫該方法,不傳任何引數
參考**
scala // x,y帶有預設值為0 def add(x:int = 0, y:int = 0) = x + y add()
2、帶名引數
在呼叫方法時,可以指定引數的名稱來進行呼叫。
示例定義乙個計算兩個值相加的方法,這兩個值預設為0
呼叫該方法,只設定第乙個引數的值
參考**
scala def add(x:int = 0, y:int = 0) = x + y add(x=1)
3、變長引數
如果方法的引數是不固定的,可以定義乙個方法的引數是變長引數。
語法格式:
scala def 方法名(引數名:引數型別*):返回值型別 =
在引數型別後面加乙個*號,表示引數可以是0個或者多個
示例定義乙個計算若干個值相加的方法
呼叫方法,傳入以下資料:1,2,3,4,5
參考**
scala scala> def add(num:int) = num.sum add: (num: int)int
scala> add(1,2,3,4,5) res1: int = 15
scala引數傳遞
在程式語言中,引數傳遞有多種方式,比如c 中的傳遞位址和傳遞數值。在scala中多了一種名稱傳遞 名稱傳遞表示傳遞的引數名稱會替代函式中的引數名稱。我們舉個例子 def f x int x x int表示乙個 塊,最終返回int 通過以下 呼叫函式f var y 0 f會替代x 這時會出現乙個問題,...
Scala 型別引數
型別引數是什麼?型別引數其實就類似於j a中的泛型。先說說 j a 中的泛型是什麼,比如我們有 list a new arraylist 接著a.add 1 沒問題,a.add 2 然後我們 a.get 1 2 對不對?肯定不對了,a.get 1 獲取的其實是個 string 2 string 2 ...
Scala 型別引數
型別引數是什麼?型別引數其實就類似於j a中的泛型。先說說 j a 中的泛型是什麼,比如我們有 list a new arraylist 接著a.add 1 沒問題,a.add 2 然後我們 a.get 1 2 對不對?肯定不對了,a.get 1 獲取的其實是個 string 2 string 2 ...