Scala的函数至简原则

embedded/2024/10/18 5:39:12/

对于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)}

http://www.ppmy.cn/embedded/6958.html

相关文章

Spark面试整理-Spark部署和集群管理

Apache Spark的部署和集群管理是Spark应用的关键组成部分,它决定了如何在分布式环境中运行和管理Spark作业。Spark支持多种部署模式和集群管理器,以适应不同的需求和环境。以下是Spark部署和集群管理的主要方面: 部署模式 本地模式:在单个机器上运行Spark。适用于开发和测试…

vue3推荐算法

Vue 3 推荐算法主要指的是在 Vue 3 框架中实现的或者适用于 Vue 3 的算法库或组件库。Vue 3 由于其优秀的设计和性能,被广泛应用于构建各种类型的应用程序,包括需要复杂算法支持的项目。以下是一些在 Vue 3 中可能会用到的推荐算法资源: Vue-…

airtest-ios真机搭建实践

首先阅读4 ios connection - Airtest Project Docs 在Windows环境下搭建Airtest对iOS真机进行自动化测试的过程相对复杂,因为iOS的自动化测试通常需要依赖Mac OS系统,但理论上借助一些工具和服务,Windows用户也可以间接完成部分工作。下面是…

论文笔记:Does Writing with Language Models Reduce Content Diversity?

iclr 2024 reviewer评分 566 1 intro 大模型正在迅速改变人们创造内容的方式 虽然基于LLM的写作助手有可能提高写作质量并增加作者的生产力,但它们也引入了算法单一文化——>论文旨在评估与LLM一起写作是否无意中降低了内容的多样性论文设计了一个控制实验&…

urlparse()函数介绍

概述 urlparse()函数是Python标准库中的函数,用于解析URL字符串。它将URL字符串分解为各个组成部分,并返回一个包含这些部分的元组。 功能 urlparse()函数的功能是将URL字符串分解为以下六个部分: scheme:URL的协议&#xff0…

【OpenHarmony-NDK技术】简单将cJson移植到OpenHarmony中,并在c层修改参数值再返回json

1、cJson的简单介绍 cJson - github网址 概述 一般使用cJson是,需要将json文本转化为json对象–编码,将json对象转化为json文本–解析。 git clone https://github.com/DaveGamble/cJSON.git 后留意cJSON.h和cJSON.h两个文件。 1、cJson的介绍 cJso…

什么是显卡服务器?

显卡服务器又叫做GPU服务器,是基于GPU的应用于视频编解码、深度学习和科学计算等多种场景的快速、稳定、弹性的计算服务,显卡服务器是一种用于计算机科学技术领域的计算机以及配套设备,有着出色的图形处理能力和高性能计算能力提供极致计算性能&#xff…

抖去推短视频矩阵系统----源头开发

为什么一直说让企业去做短视频矩阵?而好处就是有更多的流量入口,不同平台或账号之间可以进行资源互换,最终目的就是获客留咨,提单转化。你去看一些做得大的账号,你会发现他们在许多大的平台上,都有自己的账…