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)

相关推荐
我真的不会C19 分钟前
QT中的事件及其属性
开发语言·qt
2501_906314321 小时前
优化无头浏览器流量:使用Puppeteer进行高效数据抓取的成本降低策略
开发语言·数据结构·数据仓库
让我们一起加油好吗2 小时前
【C++】类和对象(上)
开发语言·c++·visualstudio·面向对象
magic 2452 小时前
深入解析Promise:从基础原理到async/await实战
开发语言·前端·javascript
只因从未离去2 小时前
黑马Java基础笔记-4
java·开发语言·笔记
言之。2 小时前
【Go语言】ORM(对象关系映射)库
开发语言·后端·golang
席万里3 小时前
Go语言企业级项目使用dlv调试
服务器·开发语言·golang
jerry6093 小时前
c++流对象
开发语言·c++·算法
fmdpenny3 小时前
用python写一个相机选型的简易程序
开发语言·python·数码相机
海盗强4 小时前
Babel、core-js、Loader之间的关系和作用全解析
开发语言·前端·javascript