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 } }
程序运行后,控制台输出如下:
我们定义了一个函数 gcdNormal,传入两个 int 类型 的参数 a 和 b,函数 返回 一个 int 类型的 变量。该函数使用了穷举法实现了求参数 a 和 参数 b 的最大公约数的逻辑。
函数参数为空
Scala 的函数参数可以为空