方法与函数简介
在接下来的课程中,你将简要了解方法和函数。
函数
在计算机编程中,函数或方法是一段执行特定任务的代码块。这段代码被赋予一个名称(类似于变量),当需要执行该特定任务时,只需调用其名称即可。这避免了重复编写相同的代码;你只需要调用函数名即可。
它们是如何工作的?
与数学函数类似,编程中的函数接收输入(称为参数),对输入进行一些操作,然后返回结果输出。
这几乎就像工厂中的一条传送带:物品从传送带一端进入机器,从另一端出来时已完全改变。然而,由于机器在整个生命周期中保持不变,它会以相同的方式处理每一个进入的物品。
Scala 中的函数
我们可以将函数大致分为两类:
- 内置函数
- 用户自定义函数
用户自定义函数是由用户自己创建的函数。我们有一整章专门讲解这类函数,因此目前无需关注它们。
内置函数是 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)
我们得到了与之前完全相同的输出。
到目前为止,这些就是你需要掌握的关于方法和函数的知识,足以继续学习。不过不用担心,后续章节将对它们进行更深入的讲解。
现在,让我们进入下一课,学习运算符。