这是一个很长的章节,所以让我们回顾一下所涵盖的关键点。
我们通常这样定义高阶函数 (HOF),它以其他函数作为输入参数或将函数作为其值。 在 Scala 中这是可能的,因为函数是一等值。
浏览这些部分,首先您会看到:
- 您可以将匿名函数编写为小代码片段
- 您可以将它们传递给集合类上的几十个 HOF(方法),即像
filter
、map
等方法。 - 使用这些小代码片段和强大的 HOF,您只需少量代码即可创建大量的函数
在查看了匿名函数和 HOF 之后,您看到了:
- 函数变量只是绑定到变量的匿名函数
在了解如何成为 HOF 的消费者之后,您将了解如何成为 HOF 的创造者。 具体来说,您看到了:
- 如何编写将函数作为输入参数的方法
- 如何从方法中返回函数
本章的一个有益的副作用是您看到了许多关于如何为函数声明类型签名的示例。
这样做的好处是,您可以使用相同的语法来定义函数参数、匿名函数和函数变量,而且对于 map
、filter
等高阶函数,阅读 Scaladoc 也变得更容易。
Contributors to this page:
Contents
- 导言
- Scala 3 特性
- 为什么是 Scala 3 ?
- Scala 的味道
- Hello, World!
- The REPL
- 变量和数据类型
- 控制结构
- 领域建模
- 方法
- 头等函数
- 单例对象
- 集合
- 上下文抽象
- 顶层定义
- 总结
- 类型初探
- 字符串插值
- 控制结构
- 领域建模
- 工具
- OOP 领域建模
- 函数式领域建模
- 方法
- 方法特性
- main 方法
- 总结
- 函数
- 匿名函数
- 函数变量
- Eta 扩展
- 高阶函数
- 自定义 map 函数
- 创建可以返回函数的方法
- 总结
- 打包和导入
- Scala 集合
- 集合类型
- 集合方法
- 总结
- 函数式编程
- 什么是函数式编程?
- 不可变值
- 纯函数
- 函数是值
- 函数式错误处理
- 总结
- 类型和类型系统
- 类型推断
- 泛型
- 相交类型
- 联合类型
- 代数数据类型
- 型变
- 不透明类型
- 结构化类型
- 依赖函数类型
- 其他类型
- 上下文抽象
- 扩展方法
- Given 实例和 Using 语句
- 上下文绑定
- Given 导入
- 实现类型类
- 多元相等性
- 隐式转换
- 总结
- 并发
- Scala 工具
- 使用 sbt 构建和测试 Scala 项目
- worksheet
- 与 Java 交互
- 向 Java 开发者介绍Scala
- Scala for JavaScript Developers
- Scala for Python Developers
- 下一步去哪