- Scala Tutorial
- Scala - Home
- Scala - Overview
- Scala - Environment Setup
- Scala - Basic Syntax
- Scala - Data Types
- Scala - Variables
- Scala - Classes & Objects
- Scala - Access Modifiers
- Scala - Operators
- Scala - IF ELSE
- Scala - Loop Statements
- Scala - Functions
- Scala - Closures
- Scala - Strings
- Scala - Arrays
- Scala - Collections
- Scala - Traits
- Scala - Pattern Matching
- Scala - Regular Expressions
- Scala - Exception Handling
- Scala - Extractors
- Scala - Files I/O
- Scala Useful Resources
- Scala - Quick Guide
- Scala - Useful Resources
- Scala - Discussion
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 函数相关的重要概念。