- Scala 教程
- Scala - 首页
- Scala - 概述
- Scala - 特性
- Scala - 环境设置
- Scala - 构建工具 (SBT)
- Scala - 基本语法
- 数据类型和变量
- Scala - 数据类型
- Scala - 变量
- Scala - 字符串
- Scala - 数组
- Scala 运算符
- Scala - 运算符
- Scala - 算术运算符
- Scala - 关系运算符
- Scala - 逻辑运算符
- Scala - 位运算符
- Scala - 赋值运算符
- Scala 条件语句
- Scala - IF ELSE
- Scala 循环语句
- Scala - 循环语句
- Scala - while 循环
- Scala - do-while 循环
- Scala - for 循环
- Scala - break 语句
- Scala 类和对象
- Scala - 类和对象
- Scala - 访问修饰符
- Scala 方法和函数
- Scala - 函数
- Scala - 函数按名称调用
- Scala - 带命名参数的函数
- Scala - 带可变参数的函数
- Scala - 递归函数
- Scala - 默认参数值
- Scala - 高阶函数
- Scala - 嵌套函数
- Scala - 匿名函数
- 部分应用函数
- Scala - 柯里化函数
- Scala 集合
- Scala - 集合
- Scala - 列表
- Scala - 集合
- Scala - 映射
- Scala - 元组
- Scala - 迭代器
- Scala - 选项
- Scala 模式匹配
- Scala - 模式匹配
- Scala - 异常处理
- Scala - 提取器
- Scala - 正则表达式
- Scala 文件 I/O
- Scala - 文件 I/O
- Scala 高级概念
- Scala - 闭包
- Scala - 特质
- Scala 有用资源
- Scala - 快速指南
- Scala - 在线编译器
- Scala - 有用资源
- Scala - 讨论
Scala - 函数
函数是一组执行任务的语句。您可以将代码分成单独的函数。如何将代码划分为不同的函数取决于您,但从逻辑上讲,划分通常是为了使每个函数执行特定任务。
Scala 既有函数也有方法,我们交替使用方法和函数这两个术语,它们之间存在细微差别。Scala 方法是类的一部分,它具有名称、签名、可选的某些注释以及一些字节码,而 Scala 中的函数是完整的对象,可以分配给变量。换句话说,定义为某个对象成员的函数称为方法。
函数定义可以出现在源文件的任何位置,并且 Scala 允许嵌套函数定义,即在其他函数定义内部的函数定义。需要注意的最重要的一点是,Scala 函数的名称可以包含 +、++、~、&、-、--、\、/、: 等字符。
函数声明
Scala 函数声明具有以下形式:
def functionName ([list of parameters]) : [return type]
如果您不使用等号和方法体,则方法会隐式声明为抽象。
函数定义
Scala 函数定义具有以下形式:
语法
def functionName ([list of parameters]) : [return type] = { function body return [expr] }
这里,返回类型可以是任何有效的 Scala 数据类型,参数列表将是一个用逗号分隔的变量列表,参数列表和返回类型是可选的。与 Java 非常相似,如果函数返回值,则可以使用return语句以及表达式。以下是将两个整数相加并返回其和的函数:
语法
object add { def addInt( a:Int, b:Int ) : Int = { var sum:Int = 0 sum = a + b return sum } }
不返回任何内容的函数可以返回一个Unit,它等效于 Java 中的void,表示函数不返回任何内容。在 Scala 中,不返回任何内容的函数称为过程。
语法
以下是语法:
object Hello{ def printMe( ) : Unit = { println("Hello, Scala!") } }
调用函数
Scala 提供了许多调用方法的语法变体。以下是调用方法的标准方法:
functionName( list of parameters )
如果使用对象的实例调用函数,那么我们将使用类似于 Java 的点表示法,如下所示:
[instance.]functionName( list of parameters )
尝试以下示例程序来定义并随后调用相同的函数。
示例
object Demo { def main(args: Array[String]) { println( "Returned Value : " + addInt(5,7) ); } def addInt( a:Int, b:Int ) : Int = { var sum:Int = 0 sum = a + b return sum } }
将上述程序保存在Demo.scala中。以下命令用于编译和执行此程序。
命令
\>scalac Demo.scala \>scala Demo
输出
Returned Value : 12
Scala 函数是 Scala 编程的核心,这就是为什么 Scala 被认为是一种函数式编程语言。以下是与 Scala 函数相关的几个重要概念,Scala 程序员应该了解这些概念。