Go
規則 01 與規則 03 維持不變。本技能是這些規則在生產環境中失敗的 Go 風格應對方式。
若變更涉及錯誤、goroutine、[]byte 與 string 的比較、遞迴或對非你創建的資料進行 switch 判斷,請閱讀 references/bad-vs-good.md。對結果執行 gofmt。請勿為了滿足本技能而添加日誌函式庫。
完成條件
- 每次呼叫所產生的錯誤都必須回傳、包裹上下文或加以處理,不得忽略任何錯誤。
- goroutine 不得修改另一個 goroutine 所修改的值。goroutine 的數量必須有上限。
- 不得以無界遞迴處理不可信任或大型的輸入。