时序图:alt / else / opt

时序图:alt / else / opt

puml.online

简介 / Introduction

时序图中的 alt / else / opt 片段用于表达条件分支、循环等复杂交互逻辑。PlantUML 和 Mermaid 都支持这类片段,但语法细节不同。本文用同一场景对比两者的写法。

PlantUML 版

1
2
3
4
5
6
7
8
9
10
11
@startuml
Alice -> Bob: 操作请求
alt 授权成功
Bob -> Carol: 转发请求
Carol --> Bob: 响应数据
else 授权失败
Bob -> Dave: 记录错误
Dave --> Bob: 错误确认
end
Bob --> Alice: 操作结果
@enduml

PlantUML 中 alt / else / end 构成一个完整的条件块,else 可出现多次。每个分支的守卫(guard)写在同一行。

Mermaid 版

1
2
3
4
5
6
7
8
9
10
sequenceDiagram
Alice->>+Bob: 操作请求
alt 授权成功
Bob->>+Carol: 转发请求
Carol-->>-Bob: 响应数据
else 授权失败
Bob->>+Dave: 记录错误
Dave-->>-Bob: 错误确认
end
Bob-->>-Alice: 操作结果

Mermaid 的 alt / else 结构与 PlantUML 基本一致,使用缩进表示层级,注意 end 闭合。

对比 / Side-by-side

特性 PlantUML Mermaid
条件块关键词 alt / else / end alt / else / end
多分支 多个 else 多个 else
守卫(guard) alt 条件 同行 alt 条件 同行
循环片段 loop loop
可选片段 opt opt
缩进要求 自由 推荐缩进

小结 / Wrap-up

两者语法高度相似,均支持 alt / else / opt / loop。PlantUML 更灵活,支持嵌套和守卫条件;Mermaid 简洁直观,适合快速文档。选择时可参考团队工具链和现有编辑器支持。

  • 标题: 时序图:alt / else / opt
  • 作者: puml.online
  • 创建于 : 2026-10-15 09:00:00
  • 更新于 : 2026-10-19 01:07:19
  • 链接: https://puml.online/blog/sequence-diagram-alt-vs-else/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。