Elixir 语法速查
共 27 条 Elixir 常用语法,覆盖基础语法、函数与模块、模式匹配、集合与 Enum、 命令行工具五组内容。支持搜索或分类筛选,点击即可复制。
基础语法
不可变数据,一切皆表达式。
| 语法 / 命令 | 说明 |
|---|---|
| 绑定(变量不可变,可重新绑定同名) | |
| 输出与字符串插值 | |
| 原子(Atom),常用于状态与键 | |
| 元组(Tuple) | |
| 列表(链表,头尾拼接) | |
| 映射(Map) |
函数与模块
def / defmodule 与管道。
| 语法 / 命令 | 说明 |
|---|---|
| 定义模块与函数 | |
| 默认参数 | |
| 管道操作符把结果传给下一步 | |
| 多子句与模式匹配定义 | |
| 匿名函数(& 简写) |
模式匹配
= 是匹配而非赋值。
| 语法 / 命令 | 说明 |
|---|---|
| 元组解构 | |
| 从 Map 中取字段 | |
| 取列表头与尾 | |
| case 分支 | |
| with 串联多步匹配,任一步失败即短路 |
集合与 Enum
Enum / Stream / Map 常用。
| 语法 / 命令 | 说明 |
|---|---|
| 映射 | |
| 过滤 | |
| 归约 | |
| 排序、去重、截取 | |
| 取 Map 值(含默认值) | |
| 处理大数据用 Stream 避免一次性构建 |
命令行工具
mix 与 iex。
| 语法 / 命令 | 说明 |
|---|---|
| 启动交互式 shell | |
| 新建项目 | |
| 运行脚本 | |
| 运行测试 | |
| 获取依赖 / 编译 |
使用说明
Elixir 语法速查:基础语法、函数与模块、模式匹配、集合与 Enum、命令行工具;支持搜索与分类筛选,点击即可复制。
- 按用途点分类:基础语法、函数与模块、模式匹配、集合与 Enum、命令行工具。
- 点「语法 / 命令」列复制片段,替换变量与模块名。
- 习惯用管道 |> 组织数据变换,代码更清晰。
- 项目用 mix(mix new / test / deps.get),交互用 iex。
常见问题
- = 是赋值还是匹配?
- 在 Elixir 里 = 是「模式匹配」,不是赋值。如 {a, b} = {1, 2} 会把 1、2 分别绑定给 a、b;匹配失败会抛错。
- 管道 |> 有什么用?
- 把左边的值作为右边函数的第一个参数,串起一系列变换(如 list |> Enum.map |> Enum.sum),避免层层嵌套,可读性更高。
- with 是做什么的?
- 用于串联多个模式匹配步骤,任一步不匹配就短路返回,常用来优雅地链式处理「可能失败」的操作(如多步 IO)。
- Enum 和 Stream 该用哪个?
- Enum 立即求值、返回具体结果;Stream 惰性求值、适合处理大数据或无限序列,能边算边用、省内存。