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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/2597.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Ubuntu20.04+Noetic】UR5e+Gazebo+Moveit

环境准备 创建工作空间 mkdir -p ur5e_ws/src cd ur5e_ws/srcUR机械臂软件包 UR官方没更新最新的noetic的分支,因此安装melodic,并需要改动相关文件。 安装UR的模型配置包,包里面有UR模型文件,moveit配置等: cd ~/ur5e_ws/src git clone -b melodic-devel https://git…

程序员如何构建商业画布

分层结构 按照前面的描述,我们很容易将商业模式画布视为一张图表。但实际上,它更像是Photoshop软件中的PSD文件,具有分层特性。每一层都是针对特定的细分人群。 这主要是因为一个价值主张很难同时满足多个不同的客户群体。对某些人来说可能是…

centos学习-掌握核心命令之-yum

引言 在CentOS系统中,yum(Yellowdog Updater Modified)是一个强大的包管理工具,用于自动从指定的远程仓库下载并安装、更新、删除软件包。yum简化了依赖关系管理,使得Linux系统的软件包管理变得非常容易。下面是对Cen…

自建网站遇到的问题记录

1.nginx部署包含websocket的项目,报错:Handshake failed due to invalid Upgrade header: null 原因:nginx 反向代理服务器忽略了headers中的:Upgrade:websocket。 解决办法:在 Nginx ,location 中添加…

探索未来的区块链DApp应用,畅享数字世界的无限可能

随着区块链技术的飞速发展,分布式应用(DApp)正成为数字经济中的一股强劲力量。DApp以其去中心化、透明公正的特点,为用户带来了全新的数字体验,开创了数字经济的新潮流。作为一家专业的区块链DApp应用开发公司&#xf…

Qt: windows下关闭系统窗体

简介 之前做了个自动烧录工具&#xff0c;但是有些烧录时出现的一些烦人的弹窗需要解决&#xff0c; 刚好找到一个方法在这里记录一下。 代码 工程文件.pro加入 LIBS -luser32 #include <Windows.h> #include <vector>// 枚举所有顶级窗口 EnumWindows(EnumWind…

3月黄油奶酪行业数据分析:安佳和妙可蓝多领军市场

近些年来&#xff0c;随着新消费主义盛行&#xff0c;老少皆宜的黄油和奶酪逐渐成为都市年轻人的烘培“新宠”。 今年3月份&#xff0c;黄油奶酪表现的中规中矩&#xff0c;处在稳定发展阶段。根据鲸参谋数据显示&#xff0c;3月份&#xff0c;在线上综合电商平台&#xff08;…

凌恩病原微生物检测系统上线啦,助力环境病原微生物检测

病原微生物是指能够引起人类或动物疾病的微生物&#xff0c;包括病毒、细菌、真菌、衣原体和支原体等。病原微生物可以通过空气、体液等介质传播&#xff0c;危害人体健康&#xff0c;造成财产损失。因此&#xff0c;快速、准确地检测病原微生物对于疫情防控和保障人民生命健康…

MATLAB基础应用精讲-【数模应用】卡方分析(补充篇)

目录 前言 几个高频面试题目 卡方检验与方差分析、t检验有什么区别? 1)方差分析 2)T检验

各类数据引擎指定schema或者数据库

背景 以hive为例&#xff0c;如果某个hive引擎&#xff0c;有my_test、test_dd、test_xx、aqtest0228数据库某张表的数据&#xff0c;如果需要查询某个库的数据&#xff0c;需要带库名&#xff0c;否则会报错。 sql语句如下 SELECT * FROM aqtest0228.t_bz_zl_ss_zyxx_wrw…

leetcode--1--两数之和

给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案…

VSCode通过跳板机免密连接远程服务器的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

内联函数与宏定义

内联函数 以inline修饰的函数叫做内联函数&#xff0c;编译时C编译器会在调用内联函数的地方展开&#xff0c;没有函数调用建立栈帧的开销&#xff0c;内联函数提升程序运行的效率。减少函数栈帧的开辟和销毁&#xff0c;如当频繁调用一个函数的时候&#xff0c;此时消耗栈帧的…

pytorch-解决过拟合之regularization

目录 1.解决过拟合的方法2. regularization2. regularization分类3. pytorch L2 regularization4. 自实现L1 regularization5. 完整代码 1.解决过拟合的方法 更多的数据降低模型复杂度 regularizationDropout数据处理早停止 2. regularization 以二分类的cross entropy为例&…

上海亚商投顾:沪指缩量调整 有色、煤炭等周期股集体大跌

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日缩量调整&#xff0c;午后一度跌近1%&#xff0c;黄白二线走势分化&#xff0c;微盘股指数涨超3%。军…

GLM4——Function calling(函数调用)

作用: Function Calling可以根据用户的输入自行判断何时需要调用哪些函数&#xff0c;并且可以根据目标函数的描述生成符合要求的请求参数。开发人员可以使用函数调用能力&#xff0c;通过GPT实现&#xff1a; 在进行自然语言交流时&#xff0c;通过调用外部工具回答问题&…

[图解敏捷口号]普天之下皆我妈-01-新手一次走两步

0 00:00:00,830 --> 00:00:03,750 今天我们来看一句敏捷口号 1 00:00:04,030 --> 00:00:05,660 后面我们会 2 00:00:06,300 --> 00:00:09,570 列一些比较幼稚的口号 3 00:00:09,970 --> 00:00:11,145 一句一句 4 00:00:11,145 --> 00:00:12,790 我们来剖析一…

超级牛逼 专业的 js 汉字拼音转换库

pinyin-pro 是一个专业的 js 汉字拼音转换库&#xff0c;功能丰富、准确率高、性能优异。 &#x1f3a8; 特色功能 支持拼音/声母/韵母/首字母/音调/全部信息支持人名姓氏模式支持文本和拼音匹配支持自定义拼音支持获取带拼音汉字的 HTML 字符串支持获取汉字的所有拼音支持拼音…

SpringBoot 启动控制台 --banner.txt实现打印炫酷控制台图案

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 分析源代码&#xff0c;banner.txt实现打印控制台 控制台图案生成网址&#xff1a;Ascii艺术字实现个性化Spring Boot启动banner图案&#xff0c;轻松修改更换banner.txt文件内容&#xff0c;收集了丰富…

SSL证书安装失败怎么办?

在互联网时代&#xff0c;SSL&#xff08;Secure Sockets Layer&#xff09;证书已成为保障网站数据传输安全、提升用户信任度的重要工具。然而&#xff0c;在实际操作过程中&#xff0c;SSL证书的安装并非总能一帆风顺&#xff0c;有时会遇到各种导致安装失败的问题。本文将详…