- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Scala 函数
Scala 函数
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 =
sum = a + b
return sum
}
}
如果函数没有返回值,可以返回为 Unit ,这个类似于 Java 的 void , 实例如下:
object Hello{
def printMe( ) : Unit = {
println(Hello, Scala!)
}
}
函数调⽤
Scala 提供了多种不同的函数调⽤⽅式:
以下是调⽤⽅法的标准格式:
functionName( 参数列表 )
如果函数使⽤了实例的对象来调⽤,我们可以使⽤类似j ava的格式 (使⽤ . 号) :
[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 =
sum = a + b
return sum
}
}
执⾏以上代码,输出结果为:
$ scalac Test.scala
$ scala Test
Returned Value : 12
Scala也是⼀种函数式语⾔,所以函数是 Scala 语⾔的核⼼。以下⼀些函数概念有助于
我们更好的理解 Scala 编程:
函数概念解析接案例
函数传名调⽤(Call-by-Name) 指定函数参数名
函数 - 可变参数 递归函数
默认参数值 ⾼阶函数
内嵌函数 匿名函数
偏应⽤函数 函数柯⾥化(Function Curryin )
W3Cschool ( . 3cschool.cn )最⼤的技术知识分享与学习平台
篇内容来⾃于 3cschool.cn ⽹站⽤户上传并发布。
您可能关注的文档
最近下载
- 面向2025年商业银行的金融科技人才金融科技产品运营能力培养策略.docx
- 【50页PPT】数据治理平台与数据运营体系建设方案.pptx VIP
- E5071B网络分析仪指导书.pdf VIP
- 汽车售后经理年终总结.pptx VIP
- 操作考核标准:简易呼吸气囊.pdf VIP
- 高标准基本农田建设项目竣工验收报告.docx VIP
- 人力资源控制程序.doc VIP
- 2020年美工理论题库4.docx VIP
- 国标图集05s502图集阀门井-国家建筑标准设计图集电子版下载 1.docx VIP
- 第2讲 一心跟着共产党(第一课时)没有共产党就没有新中国(课件)-《学生读本(小学低年级)》.pptx VIP
文档评论(0)