scala方法引數

2021-10-02 16:01:03 字數 873 閱讀 8755

方法引數

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 ...