企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
因为使用习惯,在以后的使用中函数大多数指的是`def`定义的,而`val`定义的通常称为常量。 <br/> (1) 函数的形参列表可以是多个, 如果函数没有形参,调用时可以不带`()`; (2) 形参列表和返回值列表的数据类型可以是值类型和引用类型; (3) Scala 中的函数可以根据函数体最后一行代码自行推断函数返回值类型。那么在这种情况下,`return` 关键字可以省略; ```scala def getSum(n1: Int, n2: Int): Int = { n1 + n2 } ``` (4) 因为 Scala 可以自行推断,所以在省略 `return` 关键字的场合,返回值类型也可以省略; ```scala def getSum(n1: Int, n2: Int) = { n1 + n2 } ``` (5) 如果函数明确使用 `return` 关键字,那么函数返回就不能使用自行推断了,这时要明确写成 `: 返回类型 =`,当然如果你什么都不写,也会自动`return ()` (6) 如果函数明确声明无返回值(声明 Unit),那么函数体中即使使用 `return` 关键字也不会有返回值; (7) 递归函数未执行之前是无法推断出来结果类型,在使用时必须指定明确的返回值类型; (8) 方法可以自动,或手动转变为函数; ```scala object HelloWorld { def main(args: Array[String]): Unit = { // 这是一个方法 def m1(x:Int) = {println(x)} // 将其转换为函数 val m2 = m1 _ m2(20) // 20 } } ```