函数不表示返回类型 - Scala

时间:2017-10-09 05:10:03

标签: scala

我是scala的新手。在教程中,我看到了定义函数的方法是

def functionName ([list of parameters]) : [return type] = {...}

但在其他代码中,我看到以下示例,该函数未指示返回类型。这是为什么?

  def parseLine(line:String) = {
    val fields = line.split(",")
    val stationID = fields(0)
    val entryType = fields(2)
    val temperature = fields(3).toFloat * 0.1f * (9.0f / 5.0f) + 32.0f
    (stationID, entryType, temperature)
  }

1 个答案:

答案 0 :(得分:2)

如果没有返回类型,则最后一个表达式是返回值。

例如,

scala> def doSomething = "i will be returned"
doSomething: String

你可以在上面的例子中看到虽然没有提到返回类型,但它将String作为返回类型。

此外,如果方法基于条件返回,scalac将自己确定返回类型。

scala> def doSomething = if(1 == 1) "i will be returned" else 2
doSomething: Any

scala> doSomething
res10: Any = i will be returned

同时阅读 - Return in Scala