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函数相关推荐

  1. 编制一个返回值为bool型的函数isPrimer(),用于判断参数是否为素数(是素数返回true,否则false),自编main函数用于测试

    /* * Copyright (c) 2013, 烟台大学计算机学院 * All rights reserved. * 作 者: 李家豪 * 完成日期:2013 年11月13日 * 版 本 号:v1. ...

  2. C++函数的定义、函数返回值和参数类型、函数重载、重载函数等。

    一.函数 1.何为函数? 能够执行一个功能的可复用的用大括号括起来的代码块: 2.按照函数的拥有者进行分类: 预定义函数:头文件中提供的预定义函数(内置):用户可以直接调用: 自定义函数:用户根据需要 ...

  3. c语言函数返回值类型必须,C++中函数类型与定义的函数返回值类型必须相同么?...

    C++中函数类型与定义的函数返回值类型必须相同么?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C++中函数类型与定义 ...

  4. ajax回调函数的返回值,使用ajax和回调函数向函数传递/返回值

    我试图读p_info函数返回从函数getproductInfo包含ajax调用,但我得到未定义的值.我使用回调函数来实现这一点,但仍然无法正常工作.我错在哪里?使用ajax和回调函数向函数传递/返回值 ...

  5. java 函数参数 返回值_java中如何用函数返回值作为post提交的参数?

    1.我想实现的功能是在java程序中导入HttpURLConnection类,然后将函数的值作为post方法要提交的参数,最后显示在显示台上. 2.要用到的函数是自己写的可以显示实时计算机cpu.内存 ...

  6. python input与返回值-python中使用input()函数获取用户输入值方式

    我们编写程序最终目的还是来解决实际问题,所以必然会遇到输入输出的交互问题,python中提供了input函数用来获取用户的输入,我们可以用以下程序演示. user_gender = input(&qu ...

  7. linux函数没有返回值导致溢出,Shell中函数返回值超出问题

    1.前言 快半年没有写博客了,荒废了很久,工作中的杂事太多,自己越来越懒了.为了鞭策自己成长,还是要坚持写写博客,记录自己的成长. 2.shell函数介绍 语法: [ function ] funna ...

  8. go支持对函数返回值命名,可以解决函数返回值的顺序书写问题

    传统写法要求:返回值和返回值的类型对应,顺序不能差 升级写法:对函数返回值命名,里面顺序就无所谓了,顺序不用对应

  9. c语言规定 函数返回值6,C语言六函数.ppt

    C语言六函数 第六章 函数 任何一个结构化程序都可以由三种基本结构组成:顺序结构.选择结构和循环结构,为了利用这三种结构编写结构化程序,通常需要采用自顶向下.逐步细化和模块化的程序设计方法,这也就是说 ...

  10. bat 存储过程返回值_MySQL-存储过程和函数详述

    1.1 存储过程和函数概述 存储过程和函数是 事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程和函数可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高 ...

最新文章

  1. 【怎样写代码】偷窥高手 -- 反射技术(六):深入窥视DLL内部
  2. uva-10400-搜索
  3. 嘿嘿,我就知道面试官接下来要问我 ConcurrentHashMap 底层原理了,看我怎么秀他...
  4. 做好的html 保存不了,有些网页不能保存,或者保存后没有内容,怎么办?
  5. CentOS crontab定时任务不执行的解决
  6. GET与POST传递数据的最大长度能够达到多少
  7. linux SO文件
  8. 计算机网络——自顶向下
  9. lvgl chart
  10. Vue+TS Echarts股票图
  11. endnoteX9导入英文PDF文献,可以识别Doi,但无法显示参考文献信息,如何解决?
  12. 基于FPGA的DDS信号发生器
  13. 税务系统服务器维护导致逾期申报了,申报更正日期改变会导致逾期申报吗
  14. 父类类型的引用指向子类的对象
  15. 【Python】字符串是如何比较大小的?
  16. IIR数字滤波器原理与应用
  17. Java多态(面试考点,不要因为基础而忽视)
  18. 为何使用云原生应用架构 四 :独霸天下之四大绝技 — 终端多样性 篇
  19. Android修改蓝牙名称
  20. Android kernel LOGO 动画

热门文章

  1. dubbo这样的RPC接口与HTTP接口相比,有什么优势,以及HTTP请求中的三次握手
  2. 青蛙学Linux—Zabbix Web使用之模板④基于触发器的动作和告警媒介
  3. 微信支付JAVA DEMO 微信支付爬过的坑
  4. 【转载】启发式搜索技术A*【译】
  5. ExtJS笔记 Grids
  6. 文本相似度算法——空间向量模型的余弦算法和TF-IDF
  7. java Android SDK安装与环境变量配置以及开发第一个Android程序
  8. David Cutler,VMS和Windows NT的首席设计师 (zz.is2120)
  9. UMDF驱动程序快速上手
  10. TED 你有拖延症吗?