Scala函数式编程

article/2025/10/19 22:04:44

一、函数式编程定义:

Scala是一门既面向对象,又面向过程的语言。在Scala中,函数与类、对象地位是一样,所以说scala的面向过程其实就重在针对函数的编程 了,所以称之为函数式编程

  • 在Scala中定义函数需要使用 def 关键字,函数包括函数名、参数、函数体
  • Scala要求必须给出函数所有参数的类型,但是函数返回值的类型不是必须的,因为Scala可以自己根据函 数体中的表达式推断出返回值类型,
  • 函数中最后一行代码的返回值就是整个函数的返回值,不需要使用return

二、函数赋值给变量

函数,可以独立定义,独立存在,而且可以直接将函数作为值赋值给变量。

Scala的语法规定,将函数赋值给变量时,必须在函数后面加上空格和下划线

 三、匿名函数和高阶函数

  • 在函数中也可以不用命令,这种函数称为匿名函数,可以将匿名函数直接赋值给某个变量
  • 在接收其它函数作为当前函数的参数,当前这个函数也被称为高阶函数

 其中(String) =>Unit 表示这个函数接收一个字符串,没有返回值

四、常见的高阶函数

map:对传入的每个元素都进行处理,返回一个元素

 flatMap:对传入的每个元素都进行处理,返回一个或者多个元素

 foreach:对传入的每个元素都进行处理,但是没有返回值

 

 filter:对传入的每个元素都进行条件判断,如果返回true,则保留该元素,否则过滤掉该元素

 

 reduceLeft:从左侧元素开始,进行reduce操作

 

 五、其它高级特性

  5.1 option与模式匹配

Option有两种值,一个是Some,表示有值,一个None ,表示没有值

 5.2 对变量的值进行模式匹配

match case语法格式:变量 match { case 值 => 代码 } 如果值为下划线,则代表了不满足以上所有情况下的默认处理,match case中,只要一个case分支满足并处理了,就不会继续判断下一个case分支了

 

 


http://chatgpt.dhexx.cn/article/W8o8nj06.shtml

相关文章

什么是函数式编程?

当我们说起函数式编程来说,我们会看到如下函数式编程的长相: 函数式编程的三大特性: immutable data 不可变数据:像Clojure一样,默认上变量是不可变的,如果你要改变变量,你需要把变量copy出去修…

python函数式编程

大家好 这里还还还是长弓 今天我们来讲讲python中的函数式编程 目录 函数式编程 高阶函数 map reduce filter sorted 返回函数 闭包 nonlocal使用 匿名函数lambda 装饰器 偏函数 函数式编程 有些同学疑惑了,我们已经学了函数,为什么还要学这…

函数式编程

Functional Programming 什么是函数式编程 函数式编程的思维方式:把显示世界的事务和事物之间的联系抽象到程序世界(对运算过程进行抽象) 函数式编程中的函数指的数学中的函数即映射关系,输入的值对应一个输出的值,…

appium环境搭建python_appium环境搭建python

1,appium是开源的移动端自动化测试框架;2,appium可以测试原生的、混合的、以及移动端的web项目;3,appium可以测试ios,android应用(当然了,还有firefox os);4,appium是跨平…

Windows下Appium环境搭建小结

文章目录 Windows下Appium环境搭建小结需要安装的软件1. JDK下载安装/配置 2. Android SDK3. Maven下载安装/配置 4. Appium下载安装/配置 5. Eclipse TestNG 和 ADT 插件下载安装一条龙配置1、先配置Maven 创建一个项目 Windows下Appium环境搭建小结 本文需要读者已安装了Ec…

Mac端Python+Appium环境搭建

一、安装java sdk java安装:下载完直接安装jdk1.8 二、 安装Android Studio 1.下载安装 下载地址:https://www.androiddevtools.cn/# 2.安装完成后,打开SDK Manager 三、JAVA SDK和Android SDK环境变量配置 1.终端输入:ls…

安卓移动端appium环境搭建流程

安卓移动端appium环境搭建流程 基本步骤: 安装Node.js 安装JDK,及配置环境变量 安装SDK,及配置环境变量 安装Appium桌面版本(建议安装GitHub的最新版) python中pip下载Appium-Python-Client 下载allure-2.13.8并加入环境变量 管理员身份运行appiu…

pythonappium环境搭建_python+appium 环境搭建

最近学习了一下python语言,听说appium是做app的ui层的自动化的一个很好的框架,也是很多人在学习的框架,所以很感兴趣,也特意来学习一下,下面是我学习过程的一些心得和总结,希望对大家有所帮助。 一、环境搭…

Appium环境搭建(集齐Windows和MacOS的宝藏内容)

Appium环境搭建目录 Windows系统环境下安装Node.js安装JDK及环境变量配置添加环境变量 安装SDK添加环境变量 安装Appium可通过三种方法安装安装 **appium-doctor** MacOS系统环境下安装xcode安装依赖安装WebDriverAgent运行WebDriverAgent windows 安装 tidevice常用的tidevice…

mac appium环境搭建

appium环境的搭建其实也不复杂,主要是配置的比较多,只是在配置的过程中,根据当时的机器配置会遇到一些具体问题,一个个解决就可以了。 安装下面这篇文章搭建就可以了 超详细的Mac下appium环境搭建 配置java环境有问题,…

pythonappium环境搭建_python appium环境搭建

1,appium是开源的移动端自动化测试框架; 2,appium可以测试原生的、混合的、以及移动端的web项目; 3,appium可以测试ios,android应用(当然了,还有firefox os)&#xff1…

Appium 环境搭建

一、下载并安装appium客户端(勿装1.15.1版本,1.15.1版本很多坑) 进入appium官网http://appium.io/下载版本,将下载好的版本按照步骤进行安装 Appium-Python-Client第三方包 pip3 install Appium-Python-Client -i https://pypi.tuna.tsinghua.edu.cn/simple 二…

appium环境搭建全套

环境 1 Node.js 2 Appium 3 Appium-desktop 4 Appium-Python-Client 5 Python 6 JDK 7 Andriod SDK 8 Appium-doctor 一、安装Node.js 下载地址:https://nodejs.org/en/download/releases/ 注意:Appium版本是1.7.2,则选择的No…

Appium环境搭建

一、Appium框架原理 1.介绍 appium是一个移动端的自动化测试框架,可用于测试原生应用,移动网页应用和混合应用,支持iOS和Android。 2.原理 appium可以理解为一个c/s架构软件,在pc端安装的appium server端,通过appi…

Appium环境搭建教程

最近打算研究开发一个手机的自动化小工具,奈何在这方面自己是一个小白,于是开始针对手机进行研究。由于主要使用Appium这个工具,因此本文主要讲解Appium环境的搭建,并结合自己的实践讲一讲需要避过的坑。 一、 安装Node.js Node.…

MySQL函数语句

目录 一、MySQL数据库函数作用二、MySQL数据库函数分类1.1.1、数学函数常用的数学函数1、abs(x):返回x的绝对值2、rand() :返回0到1的随机数3、mod(x, y) :返回x除以y以后的余数4、power(x, y)“:返回x的y次…

MySQL函数(=)

1 将username字段的截取两个字符,其中将包含为1的字符替换为q SELECT REPLACE(SUBSTRING(username,1,2),1,q) FROM guanliyuan; 2 将日期时间转换为字符串 SELECT DATE_FORMAT(2009-10-11 22:12:12,%Y%m%d%H%i%s); 3 从日期中截取年份 SELECT SUBSTRING(DATE_FO…

MySQL函数介绍

MySQL数据库提供了很多函数包括: 数学函数;字符串函数;日期和时间函数;条件判断函数;系统信息函数;加密函数;格式化函数; 一、数学函数 数学函数主要用于处理数字,包括整…

mysql函数实例

红色为表名,蓝色为字段名,绿色为函数,可根据自己的情况修改 点击跳转mysql函数全集https://blog.csdn.net/qq_41738750/article/details/121003757https://blog.csdn.net/qq_41738750/article/details/121003757 教学视频http://121.4.59.101/2.mp4 一…

MySQL函数学习

目录 一、日期函数: 二、字符串函数学习 三、窗口函数 1.序号函数 ​2.开窗聚合函数 ​2.分布函数 3.前后函数 4.头尾函数 5.其他函数 一、日期函数: 1.日期、时间获取: select curdate();#当前日期; select current_d…