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)

相关推荐
maizeman12630 分钟前
用R语言生成指定品种与对照的一元回归直线(含置信区间)
开发语言·回归·r语言·置信区间·品种测试
脚踏实地的大梦想家1 小时前
【Go】P17 Go语言并发编程核心:深入理解 Goroutine (从入门到实战)
java·开发语言·golang
初学小白...1 小时前
线程同步机制及三大不安全案例
java·开发语言·jvm
用坏多个鼠标2 小时前
Nacos和Nginx集群,项目启动失败问题
java·开发语言
满天星83035773 小时前
【C++】右值引用和移动语义
开发语言·c++·redis·visual studio
消失的旧时光-19433 小时前
c语言 内存管理(malloc, calloc, free)
c语言·开发语言
歪歪1003 小时前
在C#中除了按属性排序,集合可视化器还有哪些辅助筛选的方法?
开发语言·前端·ide·c#·visual studio
李高钢3 小时前
c#获取当前程序所在目录避坑
开发语言·数据库·c#
IT北辰3 小时前
用 Python 实现连续数据分组求和并回写
开发语言·python
程序员小羊!3 小时前
Flink(用Scala版本写Word Count 出现假报错情况解决方案)假报错,一直显示红色报错
flink·word·scala