在 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 关键字。