Scala函数参数

Scala函数参数教程

Scala函数 的参数,为形式参数,即如果我们通过传值的方式,传递的参数其实是实际参数的一份拷贝,而不是真正的实际参数。

在 Scala 中,函数的形参可以没有,也可以有任意多个。

Scala函数参数详解

语法

def functionName ([param1:Type1, param2:Type2]) : [return type] = { function body return [expr] }

参数

参数 描述
funcName 函数名。
param1 函数参数
Type1 参数 param1 的类型
param2 函数参数
Type2 参数 param2 的类型

说明

我们定义了一个函数 functionName,其有两个参数,参数 param1 的类型为 Type1,参数 param2 的类型为 Type2。

案例

寻找最大公约数

用函数,实现寻找两个数的最大公约数

import scala.language.postfixOps object HaiCoder { def main(args: Array[String]) : Unit = { println("嗨客网(www.haicoder.net)!\n") var gcd = gcdNormal(10, 20) printf("gcd = %d\n", gcd) } def gcdNormal(x:Int, y:Int) : Int = { var n = 0 if (x > y){ n = y }else{ n = x } for(i <- 1 to n reverse){ if (x % i == 0 && y % i == 0){ return i } } return 1 } }

程序运行后,控制台输出如下:

04_Scala函数参数.png

我们定义了一个函数 gcdNormal,传入两个 int 类型 的参数 a 和 b,函数 返回 一个 int 类型的 变量。该函数使用了穷举法实现了求参数 a 和 参数 b 的最大公约数的逻辑。

函数参数为空

Scala 的函数参数可以为空

object HaiCoder { def main(args: Array[String]) : Unit = { println("嗨客网(www.haicoder.net)!\n") printline() } def printline() : Unit = { println("===========================================") } }

程序运行后,控制台输出如下:

05_Scala函数参数.png

这里,我们的函数参数为空,因此,我们没有传入任何参数。

Scala函数参数总结

在 Scala 中,函数的形参可以没有,也可以有任意多个。