函数式编程是一种编程范例,其中通过应用和组合函数来构建程序。它是一种声明式编程范例,其中函数定义是表达式的树,每个表达式返回一个值,而不是改变程序状态的一系列命令式语句。
在函数式编程中,函数被视为一等公民,这意味着它们可以绑定到名称(包括本地标识符),作为参数传递,并从其他函数返回,就像任何其他数据类型一样。这允许以声明式和可组合的方式编写程序,其中小型函数以模块化方式组合。
了解经验丰富的函数式程序员强烈希望将其代码视为数学,将纯函数组合在一起就像组合一系列代数方程一样,这一点也很有帮助。
编写函数式代码时,您会感觉自己像个数学家,一旦理解了范例,您就会希望编写始终返回值(而不是异常或空值)的纯函数,以便您可以将它们组合(组合)在一起以创建解决方案。您正在编写类似数学的方程(表达式)的感觉是促使您只使用纯函数和不可变值的驱动力,因为这是您在代数和其他形式的数学中使用的东西。
函数式编程是一个庞大的主题,没有简单的方法可以将整个主题浓缩到一章中,但希望以下部分将概述主要主题,并展示 Scala 为编写函数式代码提供的一些工具。
此页面的贡献者
内容
- 简介
- Scala 特性
- 为什么选择 Scala 3?
- Scala 简介
- 你好,世界!
- REPL
- 变量和数据类型
- 控制结构
- 领域建模
- 方法
- 一等函数
- 单例对象
- 集合
- 上下文抽象
- 顶级定义
- 总结
- 类型初探
- 字符串插值
- 控制结构
- 领域建模
- 工具
- OOP 建模
- FP 建模
- 方法
- 方法特性
- Scala 3 中的主方法
- 总结
- 函数
- 匿名函数
- 函数变量
- Eta 展开
- 高阶函数
- 编写自己的 map 方法
- 创建返回函数的方法
- 总结
- 打包和导入
- Scala 集合
- 集合类型
- 集合方法
- 总结
- 函数式编程
- 什么是函数式编程?
- 不可变值
- 纯函数
- 函数是值
- 函数式错误处理
- 总结
- 类型和类型系统
- 推断类型
- 泛型
- 交叉类型
- 联合类型
- 代数数据类型
- 变异性
- 不透明类型
- 结构类型
- 依赖函数类型
- 其他类型
- 上下文抽象
- 扩展方法
- 上下文参数
- 上下文界限
- 给定导入
- 类型类
- 多重相等性
- 隐式转换
- 总结
- 并发
- Scala 工具
- 使用 sbt 构建和测试 Scala 项目
- 工作表
- 与 Java 交互
- 面向 Java 开发人员的 Scala
- 面向 JavaScript 开发人员的 Scala
- 面向 Python 开发人员的 Scala
- 下一步