素材阁

Elixir 语法速查

共 27 条 Elixir 常用语法,覆盖基础语法、函数与模块、模式匹配、集合与 Enum、 命令行工具五组内容。支持搜索或分类筛选,点击即可复制。

基础语法

不可变数据,一切皆表达式。

语法 / 命令说明
绑定(变量不可变,可重新绑定同名)
输出与字符串插值
原子(Atom),常用于状态与键
元组(Tuple)
列表(链表,头尾拼接)
映射(Map)

函数与模块

def / defmodule 与管道。

语法 / 命令说明
定义模块与函数
默认参数
管道操作符把结果传给下一步
多子句与模式匹配定义
匿名函数(& 简写)

模式匹配

= 是匹配而非赋值。

语法 / 命令说明
元组解构
从 Map 中取字段
取列表头与尾
case 分支
with 串联多步匹配,任一步失败即短路

集合与 Enum

Enum / Stream / Map 常用。

语法 / 命令说明
映射
过滤
归约
排序、去重、截取
取 Map 值(含默认值)
处理大数据用 Stream 避免一次性构建

命令行工具

mix 与 iex。

语法 / 命令说明
启动交互式 shell
新建项目
运行脚本
运行测试
获取依赖 / 编译

使用说明

Elixir 语法速查:基础语法、函数与模块、模式匹配、集合与 Enum、命令行工具;支持搜索与分类筛选,点击即可复制。

  1. 按用途点分类:基础语法、函数与模块、模式匹配、集合与 Enum、命令行工具。
  2. 点「语法 / 命令」列复制片段,替换变量与模块名。
  3. 习惯用管道 |> 组织数据变换,代码更清晰。
  4. 项目用 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 惰性求值、适合处理大数据或无限序列,能边算边用、省内存。

延伸阅读

相关工具