Scala 函数

2025 年 1 月 24 日 | 3 分钟阅读

Scala 支持函数式编程方法。它提供了丰富的内置函数,并允许您创建用户定义的函数。

在 Scala 中,函数是第一类值。您可以存储函数值,将函数作为参数传递,并从其他函数返回函数作为值。您可以使用 def 关键字创建函数。定义函数时,必须提及参数的返回类型,函数的返回类型是可选的。如果您未指定函数的返回类型,则默认返回类型为 Unit。


Scala 函数声明语法

在上面的语法中,=(等于)运算符看起来很奇怪,但请不要担心,Scala 已将其定义为

您可以创建带或不带 =(等于)运算符的函数。如果使用它,函数将返回值。如果您不使用它,您的函数将不返回任何内容,并且将像子例程一样工作。

Scala 函数不使用 return 语句。返回类型由编译器从函数中存在的最后一个表达式或语句推断。


Scala 函数示例(不使用 = 运算符)

下面定义的函数也称为非参数化函数。

输出

This is a simple function

Scala 函数示例(使用 = 运算符)

输出

10

Scala 参数化函数示例

使用参数化函数时,必须显式提及参数的类型,否则编译器会抛出错误,并且您的代码将无法编译。

输出

30

Scala 递归函数

在下面给出的程序中,我们使用递归函数将两个数字相乘。

在 Scala 中,您也可以创建递归函数。使用递归函数时要小心。必须有一个基本条件来安全地终止程序。

输出

30

带有默认值的函数参数

Scala 提供了一个功能,可以将默认值分配给函数参数。当您在函数调用期间不传递值时,它会有所帮助。它使用参数的默认值。

让我们看一个示例。


带有默认值的 Scala 函数参数示例

输出

17
15
0

Scala 函数命名参数示例

在 Scala 函数中,您可以在调用函数期间指定参数的名称。在给定的示例中,您可以注意到在调用期间正在传递参数名称。您可以按任何顺序传递命名参数,也可以只传递值。

让我们看一个示例。

输出

17
17
17
下一个主题Scala 高阶函数