scala php,Scala 函数

函数是一组一起执行一个任务的语句。

您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。

Scala 有函数和方法,二者在语义上的区别很小。Scala 方法是类的一部分,而函数是一个对象可以赋值给一个变量。换句话来说在类中定义的函数即是方法。

我们可以在任何地方定义函数,甚至可以在函数内定义函数(内嵌函数)。更重要的一点是 Scala 函数名可以由以下特殊字符:+, ++, ~, &,-, -- , \, /, : 等。

函数声明

Scala 函数声明格式如下:def functionName ([参数列表]) : [return type]

如果你不写等于号和方法主体,那么方法会被隐式声明为"抽象(abstract)",包含它的类型于是也是一个抽象类型。

函数定义

方法定义由一个def 关键字开始,紧接着是可选的参数列表,一个冒号":" 和方法的返回类型,一个等于号"=",最后是方法的主体。

Scala 函数定义格式如下:def functionName ([参数列表]) : [return type] = {

function body

return [expr]

}

以上代码中 return type 可以是任意合法的 Scala 数据类型。参数列表中的参数可以使用逗号分隔。

以下函数的功能是将两个传入的参数相加并求和:object add{

def addInt( a:Int, b:Int ) : Int = {

var sum:Int = 0

sum = a + b

return sum

}

}

如果函数没有返回值,可以返回为 Unit,这个类似于 Java 的 void, 实例如下:object Hello{

def printMe( ) : Unit = {

println("Hello, Scala!")

}

}

函数调用

Scala 提供了多种不同的函数调用方式:

以下是调用方法的标准格式:functionName( 参数列表 )

如果函数使用了实例的对象来调用,我们可以使用类似java的格式 (使用 . 号):[instance.]functionName( 参数列表 )

以上实例演示了定义与调用函数的实例:object Test {

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

}

}

执行以上代码,输出结果为:$ scalac Test.scala

$ scala Test

Returned Value : 12

Scala也是一种函数式语言,所以函数是 Scala 语言的核心。以下一些函数概念有助于我们更好的理解 Scala 编程:函数概念解析接案例

函数传名调用(Call-by-Name)指定函数参数名

函数 - 可变参数递归函数

默认参数值高阶函数

内嵌函数匿名函数

偏应用函数函数柯里化(Function Currying)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值