Scala中的普通函数和匿名函数
2020-07-14 06:13
295 查看
普通函数
- 声明函数的结构: def 函数名(参数列表):返回值类型={方法体}
- scala可以根据方法体的返回值,自动推断出返回值类型
- 如果要实现自动推断,函数和方法体之间必须有=号
如果函数没有=号,则返回值一律为空类型(Unit)。 - scala函数的默认参数机制:
def 函数名(形参名:类型=默认值)={方法体} - scala函数支持变长参数机制:
def 函数名(形参名:类型*)={方法体} - 变长参数类型本质上看以看做是数组类型
变长参数必须位于参数列表的最后 - def前面修饰符默认是public
匿名函数&高阶函数
- 匿名函数没有函数名
- 参数列表和方法体{}的连接符是 =>
- 匿名函数的作用:可以当做参数进行赋值或传递
- 高阶函数是允许将函数当做参数进行传递。
- 匿名函数的通用化简规则1:参数的类型如果可以推断出来,则类型可以省略
- 匿名函数的通用化简规则2:如果匿名函数的参数列表中只有一个参数,则()可以省略
- 匿名函数最终级的化简:可以通过_(占位符)来代替参数
相关文章推荐
- 自执行匿名函数语法和普通函数语法对比
- [置顶] 【scala 函数定义和调用】Scala的函数调用:普通函数、匿名函数、柯里化函数
- Python匿名函数案列
- Go语言的匿名函数与闭包
- 匿名自执行函数中,若存在多个执行函数,则只执行最末一个函数
- JavaScript中的匿名函数及函数的闭包
- 有趣的 Scala 语言: 函数成了一等公民
- JavaScript中的匿名函数及函数的闭包
- 函数的形参(普通形参、指针形参、引用形参)
- python函数传参以及匿名函数
- Scala 函数
- 3.C++ 函数返回值、函数调用(普通、嵌套、递归调用)
- 函数式宏定义与普通函数
- Python学习之延时回调普通函数详解
- 内联函数背景、例子、与普通函数的区别及要注意的地方 ------新标准c++程序设计
- static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
- 普通函数,成员函数,静态成员函数与【指针】
- Dt大数据梦工厂王家林老师 Scala实战详解之 第2讲Scala函数定义,流程控制,异常处理入门实战
- python中的匿名函数与lambda
- JS中的匿名函数自执行、函数声明与函数表达式