scala入门之函数定义
博客专区 > 柳哥 的博客 > 博客详情
scala入门之函数定义
柳哥 发表于4年前
scala入门之函数定义
  • 发表于 4年前
  • 阅读 793
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

如何写scala函数,如下:

函数的定义以def开始。然后是函数名,本例中是max,跟着是括号里带有冒号分隔的参数列表。函数的每个参数都必须带有前缀冒号的类型标注因为scala编译器无法推断函数的参数类型。本例中,名叫max的函数带有两个参数,x和y,都是Int类型。在max参数列表的括号之后你会看到另一个“: Int”类型标注。这是max函数的结果类型(result type)定义。跟在函数结果类型之后的是一个等号和一对包含了函数体的花括号
有时候scala编译器需要函数结果类型的定义。比方说,如果函数是递归的,那么函数结果类型就必须被明确地说明。然而在max的例子里,即使不写结果类型编译器也能够推断它(注:尽管如此,就算编译器不需要,显示说明函数结果类型也经常是个好主意,这种类型标注可以使代码便于阅读)。同样,如果函数仅包含一个语句,那么连花括号都可以选择不写。如下:

以下是即不带参数也不返回有用结果的函数定义:

函数greet()定义之后,解释器输出返回greet: ()Unit。“greet”当然是函数名,空白的括号说明函数不带参数。Unit是greet的结果类型,指的是函数没有有效的返回值。scala的Unit类型比较类似于Java的void类型,而且实际上Java里返回void的方法都会被映射为返回Unit的scala方法。因此结果类型为Unit的方法,并非是为了得到返回值,而是为了其他的运行效果
最后,如果想要离开解释器,输入 :quit 或者:q

标签: scala
共有 人打赏支持
粉丝 200
博文 394
码字总数 347782
×
柳哥
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: