---
paths:
  - "**/*.go"
  - "**/go.mod"
  - "**/go.sum"
---
# Go 程式碼風格 (Coding Style)

> 本檔案擴展了 [common/coding-style.md](../common/coding-style.md)，包含 Go 特定內容。

## 格式化 (Formatting)

- **gofmt** 與 **goimports** 是強制性的 — 不存在風格爭論。

## 設計原則 (Design Principles)

- 接收介面 (Accept interfaces)，返回結構體 (Return structs)。
- 保持介面精簡 (1-3 個方法)。

## 錯誤處理 (Error Handling)

始終為錯誤包裹上下文：

```go
if err != nil {
    return fmt.Errorf("failed to create user: %w", err)
}
```

## 參考資源

參見技能 (Skill)：`golang-patterns`，獲取全面的 Go 慣用法與模式。
