在 Scala 中返回一个值
Mohammad Irfan
2023年1月30日
2022年5月18日
本教程将讨论如何从 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
关键字。