Scala的函数至简原则

对于scala语言来说,函数的至简原则是它的一大特色。下面让我们一起来看看分别有什么吧!

函数至简原则:能省则省!

初始函数

复制代码
def test(name:String):String={
      return name
}

1、return可以省略,Scala会使用函数体的最后一行代码作为返回值。

复制代码
可以简化为:return省略
def test01(name:String):String={
      name
}

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

复制代码
可以简化为:{}省略
def test02(name:String): String = name

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

复制代码
可以简化为:: String一起省略
def test03(name:String) = name

这个表达式是不是相当于数学中函数表达式:f(x) = x

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

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

6、如果期望是无返回值类型,那么可以省略等号。

复制代码
def test06(name:String) {
      name
}

在一些场景下,我们可以把这个叫做过程(process)。相当于定义了一个即将要执行的子过程,一行一行的执行。

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

复制代码
def test07():String= {
      println("hello world")
}

//调用
test07()
test07

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

复制代码
def test08:Unit= {
      println("hello world")
}

//调用
//test08()  这个会报错
test08

9、如果不关心函数名称,只关心逻辑处理,那么函数定义名称 可以省略

复制代码
def test09(name:String):Unit= {
      println(name)
}
可以简化为:
(name:String ) => {println(name)}
相关推荐
知无不研1 小时前
lambda表达式的使用(3)
开发语言·c++·lambda
cfm_29142 小时前
SpringAI + Ollama 本地大模型
java·开发语言·人工智能·语言模型
IT_陈寒3 小时前
Python的GIL让我多写了500行代码
前端·人工智能·后端
C++ 老炮儿的技术栈3 小时前
基于Qt实现轻量化本地音乐播放器
开发语言·c++·qt·c·播放器·音乐
qq_448011163 小时前
C语言中的柔性数组
c语言·开发语言·柔性数组
小白学大数据3 小时前
长周期爬虫的数据一致性:断点续爬 + 事务回滚保障采集质量
开发语言·爬虫·测试工具
zlinear数据采集卡4 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
Poo_Chai4 小时前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库
IT爱学堂4 小时前
精讲软件设计师(软考中级)一站式通关课_实战课程_慕课网
后端
瑞码空间4 小时前
Java 图形界面(GUI)完整知识点手册
java·开发语言·图形界面·swing