函数式编程是一种编程范式,通过应用和组合函数来构建程序。 它是一种声明式编程范例,其中函数定义是表达式树,每个表达式都返回一个值,而不是改变程序状态的命令式语句序列。
在函数式编程中,函数被视为一等公民,这意味着它们可以绑定到名称(包括本地标识符)、作为参数传递以及从其他函数返回,就像任何其他数据类型一样。 这允许以声明式和可组合的方式编写程序,其中小函数以模块化方式组合。
知道这样的情况对你很有帮助:有经验的函数式程序员非常倾向于将他们的代码视为数学,将纯函数组合在一起就像组合一系列代数方程一样。
当你编写函数式代码时,你会感觉自己像个数学家,一旦你理解了范式,你就会想编写总是返回_值_—而不是异常或空值—的纯函数,这样你就可以将它们组合(结合)在一起以创建解决方案。 编写类似数学的方程式(表达式)的感觉是驱使您_只_使用纯函数和不可变值的动力,因为这就是您在代数和其他形式的数学中使用的东西。
函数式编程是一个很大的主题,没有简单的方法可以将整个主题浓缩为一章,但希望以下部分能够概述主要主题,并展示 Scala 为编写函数式代码提供的一些工具。
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
- 下一步去哪