首發地址:https://mp.weixin.qq.com/s/v1nh_WnXq1V8z0WpICdcfA
slog 日誌包是 Go 語言中的一個結構化日誌庫,旨在提供一個簡單而強大的日誌系統。因為標準日誌庫 log 過於簡陋,社區中經常有人吐槽,Go 官方也承認了這一點,於是 Go 團隊成員 Jonathan Amsterdam 操刀設計了新的日誌庫 slog,其放在 log/slog 目錄中
公眾號首發:https://mp.weixin.qq.com/s/JwEPt3oZ3aY8ZzKddwnpiA
剛開始接觸 Go 的開發者大概都會遇到一個問題:我該如何組織我的 Go 項目?這種問題當然沒有標準答案,不過 Go 官方下場,給了廣大 Gopher 一個推薦模板。本文就來帶大家一起來學習一下 Go 官方對於 Go 項目佈局的指導原則。
本文以 Go 官方博客「Organizing a
公眾號首發:https://mp.weixin.qq.com/s/nzbuLHfS4Nu2qtcd2bO6-w
在 Go 語言的包設計中,函數和變量通過首字母大小寫來嚴格區分導出(exported)與未導出(unexported)的可見性規則。這種機制是 Go 模塊化設計的基石,但同時也為底層系統級開發帶來了限制。//go:linkname 指令正是 Go 為突破這一限制預留的「後門」,它通過編譯
首發地址:https://mp.weixin.qq.com/s/FRa0A51DGQ6MiKO6PUu6wQ
Go 語言中的錯誤處理不僅僅只有 if err != nil,defer、panic 和 recover 這三個相對來説不不如 if err != nil 有名氣的控制流語句,也與錯誤處理息息相關。本文就來講解下這三者在 Go 語言中的應用。
Defer
defer 是一個 Go 中的關鍵
**公眾號首發地址:https://mp.weixin.qq.com/s/ImvwsAUhQ3MMZkKvnbNB3A
關注公眾號第一時間查看文章更新。**
本文是 Go 錯誤處理指北系列第三篇文章:如何優雅的處理錯誤?作為鋪墊,我在系列的前兩篇文章 Error vs Exception vs ErrNo 和 pkg/errors 源碼解讀 中分別講解了 Go 錯誤處理機制和流行的第三方包