Go
規則 01 和規則 03 保持不變。此技能是這些規則在生產環境中失效的 Go 專屬表現形式。
當修改涉及錯誤、goroutine、[]byte 與 string 的選擇、遞迴或對非您建立的資料進行 switch 時,請閱讀 references/bad-vs-good.md。對結果執行 gofmt。請勿為滿足此技能而添加日誌函式庫。
完成條件
- 每一次您發起的呼叫所產生的錯誤,都必須被回傳、加上上下文包裝或妥善處理。沒有任何錯誤被忽略。
- 一個 goroutine 不得修改另一個 goroutine 正在變更的值。goroutine 的數量必須有上限。
- 對於不可信任或大型的輸入,不得使用無限制的遞迴進行遍歷。