scala函数的至简原则

1) 第一点就是我们之前提到的, return 可以省略 ,Scala 会使用函数体的逻辑 上的最后一行代码作为返回值

def f1( s : String ): String = {

s

}

2)如果函数体只有一行代码,可以省略花括号

def f2(s: String): String = s

(3)返回值类型如果能够推断出来,那么可以省略:和返回值类型一起省略

def f3( s : String ) = s

(4)如果有 return,则不能省略返回值类型,必须指定

def f4(): String = {

return "ximenqing4"

}

(5)如果函数明确声明 Unit ,那么即使函数体中使用 return 关键字也不起作用

6)Scala 如果 函数 没有 返回值类型,可以省略等号,将无返回值的函数称之为过程

def f6() {

"dalang6"

}

(7)如果函数无参 ,但是声明了参数列表,那么调用时,小括号可加可不加

def f7() = "dalang7"

f7

8)如果函数没有参数列表,那么小括号可以省略, 调用时小括号必须省略

def f8 = "dalang"

println(f8)

相关推荐
毕设源码-邱学长4 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
rookieﻬ°5 小时前
PHP框架漏洞
开发语言·php
炸膛坦客6 小时前
单片机/C/C++八股:(二十)指针常量和常量指针
c语言·开发语言·c++
兑生6 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
炸膛坦客7 小时前
单片机/C/C++八股:(十九)栈和堆的区别?
c语言·开发语言·c++
零雲7 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
Jay_Franklin7 小时前
Quarto与Python集成使用
开发语言·python·markdown
2401_831824968 小时前
代码性能剖析工具
开发语言·c++·算法
是wzoi的一名用户啊~8 小时前
【C++小游戏】2048
开发语言·c++
Sunshine for you9 小时前
C++中的职责链模式实战
开发语言·c++·算法