在 Scala 中返回一個值

Mohammad Irfan 2023年1月30日
  1. 在 Scala 中返回一個整數值
  2. 在 Scala 中返回一個匿名值
  3. 在 Scala 中返回列表或向量值
在 Scala 中返回一個值

本教程將討論如何從 Scala 中的函式返回值。

在 Scala 中返回一個整數值

在 Scala 中,函式可能會也可能不會向呼叫者函式返回任何值。這取決於函式的實現。

返回值的函式可以在其簽名中指定,以便呼叫者知道將返回什麼型別的值。在這個例子中,我們建立了一個接受兩個整數引數並返回一個整數的函式。

程式碼:

object MyClass {
    def main(args: Array[String]) {
        var result = getSum(10,20);
        print(result);
    }
    def getSum( a:Int, b:Int ) : Int = {
      var sum:Int = 0
      sum = a + b
      return sum
   }
}

輸出:

30

在 Scala 中返回一個匿名值

我們宣告瞭一個 getSum(),它接受兩個整數引數但不指定返回型別。現在,由 Scala 直譯器通過函式的最後一個表示式來推斷返回值的型別。

下面示例中實現的函式返回一個整數值。

程式碼:

object MyClass {

    def main(args: Array[String]) {
        var result = getSum(10,20);
        print(result);
    }
    def getSum( a:Int, b:Int ) = {
      var sum:Int = 0
      sum = a + b
      sum
   }
}

輸出:

30

同樣,我們也可以返回字串值。該函式根據最後一個表示式/語句型別採用兩個字串引數。

程式碼:

object MyClass {

    def main(args: Array[String]) {
        var result = getSum("Hello","Hi");
        print(result);
    }
    def getSum( a:String, b:String ) = {
      var sentence:String = ""
      sentence = a + b
      sentence
   }
}

輸出:

HelloHi

在 Scala 中返回列表或向量值

我們還可以返回一個完整的容器,例如陣列、列表或向量。該函式在下面的程式碼中迴圈和產生後返回一個向量。

程式碼:

object MyClass {

    def main(args: Array[String]) {
        var result = getList(1,5);
        print(result);
    }
    def getList(a:Int, b:Int ) = {
        var list = for( c <- a to b) yield c
        list
   }
}

輸出:

Vector(1, 2, 3, 4, 5)

在 Scala 中,如果沒有返回值,則假定最終表示式為返回值。如果最後一個表示式是你想要返回的,你可以跳過 return 關鍵字。