scala 返回值_Scala系列3-Scala函数
Scala函数
1. Scala函数的定义
· 有参函数
· 无参函数
注意点:
· 函数定义语法 用def来定义
· 可以定义传入的参数,要指定传入参数的类型
· 方法可以写返回值的类型也可以不写,会自动推断,有时候不能省略,必须写,比如在递归函数中或者函数的返回值是函数类型的时候。
· scala中函数有返回值时,可以写return,也可以不写return,会把函数中最后一行当做结果返回。当写return时,必须要写函数的返回值。
· 如果返回值可以一行搞定,可以将{}省略不写
· 传递给方法的参数可以在方法中使用,并且scala规定方法的传过来的参数为val的,不是var的。
· 如果去掉方法体前面的等号,那么这个方法返回类型必定是Unit的。这种说法无论方法体里面什么逻辑都成立,scala可以把任意类型转换为Unit.假设,里面的逻辑最后返回了一个string,那么这个返回值会被转换成Unit,并且值会被丢弃。
2. 递归函数
3. 包含参数默认值的函数
· 默认值的函数中,如果传入的参数个数与函数定义相同,则传入的数值会覆盖默认值。
· 如果不想覆盖默认值,传入的参数个数小于定义的函数的参数,则需要指定参数名称。
4. 可变参数个数的函数
· 多个参数用逗号分开
5. 匿名函数
1. 有参匿名函数
2. 无参匿名函数
3. 有返回值的匿名函数
· 可以将匿名函数返回给val定义的值
· 匿名函数不能显式声明函数的返回类型
6. 嵌套函数
7. 偏应用函数
偏应用函数是一种表达式,不需要提供函数需要的所有参数,只需要提供部分,或不提供所需参数。
8. 高阶函数
函数的参数是函数,或者函数的返回类型是函数,或者函数的参数和函数的返回类型是函数的函数。
· 函数的参数是函数
· 函数的返回是函数
· 函数的参数和函数的返回是函数
9. 柯里化函数
· 可以理解为高阶函数的简化
scala 返回值_Scala系列3-Scala函数相关推荐
- 编制一个返回值为bool型的函数isPrimer(),用于判断参数是否为素数(是素数返回true,否则false),自编main函数用于测试
/* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 作 者: 李家豪 * 完成日期:2013 年11月13日 * 版 本 号:v1. ...
- C++函数的定义、函数返回值和参数类型、函数重载、重载函数等。
一.函数 1.何为函数? 能够执行一个功能的可复用的用大括号括起来的代码块: 2.按照函数的拥有者进行分类: 预定义函数:头文件中提供的预定义函数(内置):用户可以直接调用: 自定义函数:用户根据需要 ...
- c语言函数返回值类型必须,C++中函数类型与定义的函数返回值类型必须相同么?...
C++中函数类型与定义的函数返回值类型必须相同么?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C++中函数类型与定义 ...
- ajax回调函数的返回值,使用ajax和回调函数向函数传递/返回值
我试图读p_info函数返回从函数getproductInfo包含ajax调用,但我得到未定义的值.我使用回调函数来实现这一点,但仍然无法正常工作.我错在哪里?使用ajax和回调函数向函数传递/返回值 ...
- java 函数参数 返回值_java中如何用函数返回值作为post提交的参数?
1.我想实现的功能是在java程序中导入HttpURLConnection类,然后将函数的值作为post方法要提交的参数,最后显示在显示台上. 2.要用到的函数是自己写的可以显示实时计算机cpu.内存 ...
- python input与返回值-python中使用input()函数获取用户输入值方式
我们编写程序最终目的还是来解决实际问题,所以必然会遇到输入输出的交互问题,python中提供了input函数用来获取用户的输入,我们可以用以下程序演示. user_gender = input(&qu ...
- linux函数没有返回值导致溢出,Shell中函数返回值超出问题
1.前言 快半年没有写博客了,荒废了很久,工作中的杂事太多,自己越来越懒了.为了鞭策自己成长,还是要坚持写写博客,记录自己的成长. 2.shell函数介绍 语法: [ function ] funna ...
- go支持对函数返回值命名,可以解决函数返回值的顺序书写问题
传统写法要求:返回值和返回值的类型对应,顺序不能差 升级写法:对函数返回值命名,里面顺序就无所谓了,顺序不用对应
- c语言规定 函数返回值6,C语言六函数.ppt
C语言六函数 第六章 函数 任何一个结构化程序都可以由三种基本结构组成:顺序结构.选择结构和循环结构,为了利用这三种结构编写结构化程序,通常需要采用自顶向下.逐步细化和模块化的程序设计方法,这也就是说 ...
- bat 存储过程返回值_MySQL-存储过程和函数详述
1.1 存储过程和函数概述 存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高 ...
最新文章
- 【怎样写代码】偷窥高手 -- 反射技术(六):深入窥视DLL内部
- uva-10400-搜索
- 嘿嘿,我就知道面试官接下来要问我 ConcurrentHashMap 底层原理了,看我怎么秀他...
- 做好的html 保存不了,有些网页不能保存,或者保存后没有内容,怎么办?
- CentOS crontab定时任务不执行的解决
- GET与POST传递数据的最大长度能够达到多少
- linux SO文件
- 计算机网络——自顶向下
- lvgl chart
- Vue+TS Echarts股票图
- endnoteX9导入英文PDF文献,可以识别Doi,但无法显示参考文献信息,如何解决?
- 基于FPGA的DDS信号发生器
- 税务系统服务器维护导致逾期申报了,申报更正日期改变会导致逾期申报吗
- 父类类型的引用指向子类的对象
- 【Python】字符串是如何比较大小的?
- IIR数字滤波器原理与应用
- Java多态(面试考点,不要因为基础而忽视)
- 为何使用云原生应用架构 四 :独霸天下之四大绝技 — 终端多样性 篇
- Android修改蓝牙名称
- Android kernel LOGO 动画