Logo
Section 1 / 13

方法与函数简介

在接下来的课程中,你将简要了解方法和函数。

导入

方法与函数简介

在接下来的课程中,你将简要了解方法和函数。

函数

在计算机编程中,函数或方法是一段执行特定任务的代码块。这段代码被赋予一个名称(类似于变量),当需要执行该特定任务时,只需调用其名称即可。这避免了重复编写相同的代码;你只需要调用函数名即可。

它们是如何工作的?

与数学函数类似,编程中的函数接收输入(称为参数),对输入进行一些操作,然后返回结果输出。

这几乎就像工厂中的一条传送带:物品从传送带一端进入机器,从另一端出来时已完全改变。然而,由于机器在整个生命周期中保持不变,它会以相同的方式处理每一个进入的物品。

...

Scala 中的函数

我们可以将函数大致分为两类:

  1. 内置函数
  2. 用户自定义函数

用户自定义函数是由用户自己创建的函数。我们有一整章专门讲解这类函数,因此目前无需关注它们。

内置函数是 Scala 预先定义好的函数,属于其标准库的一部分。我们只需调用它们的函数名即可使用。

内置函数也被称为方法。

我们在前一章中学习的打印方法都是内置函数。

1val printMe = "Hello World" 2 3println(printMe)

在上述代码中,println 是一个执行特定任务“打印”的方法。printMe 是传递给该方法的参数,“Hello World” 是返回的结果输出。我们一直在使用函数!

调用函数

虽然 println 是一个方法,但它非常简单,只需传入一个任意类型的参数即可。然而,大多数方法需要在某个对象上被调用,我们暂且称这个对象为“对象”。这个对象可以是 AnyVal 到 AnyRef 的任何类型。例如,objectName.method(argument) 表示方法在 objectName 上被调用,argument 是传递给该方法的参数。该方法会对 objectName 中存储的数据执行某些操作。

大多数方法只允许传递特定数据类型的参数。让我们调用 Scala 的一个内置方法 indexOf,以便更清楚地理解其工作原理。

indexOf 方法作用于字符串,并接收一个 Char 类型的参数。它用于查找字符在字符串中的索引位置。

1val string1 = "Hello World" 2val result = string1.indexOf('W') 3 4// 主程序代码 5println(result)

在上述代码中,string1 是我们调用 indexOf 方法的对象,'W' 是传递给该方法的参数。输出结果为 6,因为字符 'W' 位于字符串 "Hello World" 的第 6 个索引位置。

Scala 有一个独特之处:它提供了两种调用方法的方式。

普通方法调用

最常见且广泛使用的方法调用方式,正是我们在 indexOf 示例中所使用的那种。

...

在这种调用方式中,调用方法的对象与方法名称之间用 . 分隔,而方法的参数则放在 () 中。

使用运算符语法调用方法

你也可以像使用 + 这样的运算符一样调用方法。此时,方法的作用相当于一个运算符。

...

让我们修改之前的 indexOf 示例,改用运算符语法来调用方法。

1val string1 = "Hello World" 2val result = string1 indexOf 'W' 3 4println(result)

我们得到了与之前完全相同的输出。

到目前为止,这些就是你需要掌握的关于方法和函数的知识,足以继续学习。不过不用担心,后续章节将对它们进行更深入的讲解。


现在,让我们进入下一课,学习运算符。

Scala 中的变量

操作符简介