一、 方法与函数
Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。
Scala中val语句可以定义函数,def语句定义方法
scala
class Test{
def m(x: Int) = x+3
val f = (x:Int) => x+3
}
1.1 方法声明
scala
def functionname([参数列表]):[return type]
1.2 方法定义
由一个 def 关键字开始,紧接着是可选的参数列表,一个冒号 : 和方法的返回类型,一个等于号 = ,最后是方法的主体。
如果方法没有返回值,可以返回Unit,类似于Java里面的void
scala
def functionname([参数列表]):[return type] = {
function body
return [expr]
}
以上代码中 return type 可以是任意合法的 Scala 数据类型。参数列表中的参数可以使用逗号分隔。
函数里面的返回不需要写 return ,直接写要返回的数据
scala
object add{
def addInt(a:Int, b:Int):Int = {
var sum:Int = 0
sum = a + b
return sum
}
}
1.3 方法调用
scala
直接调用
functionName(参数列表)
使用实例的对象来调用
[instance].funcitionName(参数列表)
二、闭包
闭包是一个函数,返回值依赖于声明在函数外部的一个或多个变量
访问一个函数里面局部变量的另一个函数
暂时不深入研究