八字入門：從干支到五行，一個程序員的理解框架

我是先學會寫代碼，纔開始學八字的。

這個順序帶來了一個奇特的視角：當我第一次接觸幹支系統時，腦子裏浮現的不是「命運」，而是一個設計精妙的**枚舉類型**。

## 干支：一個 60 進制的時間編碼系統

十天干（甲乙丙丁戊己庚辛壬癸）和十二地支（子醜寅卯辰巳午未申酉戌亥），兩兩組合，形成一個 60 個元素的循環序列——甲子、乙丑、丙寅……直到癸亥，然後回到甲子。

用代碼表達就是：

```python
STEMS = ['甲','乙','丙','丁','戊','己','庚','辛','壬','癸']
BRANCHES = ['子','醜','寅','卯','辰','巳','午','未','申','酉','戌','亥']

def get_ganzhi(n: int) -> str:
return STEMS[n % 10] + BRANCHES[n % 12]
```

一個人的出生時刻，可以用四組干支（年柱、月柱、日柱、時柱）精確描述，這就是「八字」——四組干支，每組兩個字，共八個字。

## 五行：一個類型系統

五行（木火土金水）是干支的「類型標註」：

| 五行 | 天干 | 地支 |
| :--- | :--- | :--- |
| 木 | 甲、乙 | 寅、卯 |
| 火 | 丙、丁 | 巳、午 |
| 土 | 戊、己 | 辰、戌、醜、未 |
| 金 | 庚、辛 | 申、酉 |
| 水 | 壬、癸 | 亥、子 |

五行之間有「生克」關係：木生火、火生土、土生金、金生水、水生木；木克土、土克水、水克火、火克金、金克木。

這是一個**有向圖**，每個節點既是某些節點的「生者」，也是某些節點的「克者」。

## 命盤：一個依賴關係分析

八字命理的核心，是分析這八個字（以及它們藏幹中隱含的更多五行信息）之間的生克關係，找出「用神」——即命盤中最需要補充或最需要抑制的五行。

這讓我想起軟件架構中的依賴分析：找出系統中的瓶頸節點，找出過度依賴的模塊，找出需要解耦的地方。

---

當然，命理學遠比這複雜。格局、神煞、大運流年……每一個維度都是一套獨立的分析體系。但從這個程序員視角出發，至少讓我找到了一個理解它的入口。

上方的「八字命盤」工具可以幫你生成完整的命盤數據，歡迎試用。