歡迎加入開源項目,提你的 mr
Go Commons:Golang 開發者的常用工具集,一站式解決常見需求
在 Go 語言的開發過程中,你是不是經常遇到這樣的情況:
- 想要做點小功能,卻得從零寫起,或者到處找三方庫;
- 三方庫魚龍混雜,不知道哪個好用、哪個還在維護;
- 想要快速上手一個 demo,卻因為依賴配置、用法不清晰而被勸退。
這正是 Go Commons 誕生的原因 —— 一個匯集了常用工具、示例清晰、開箱即用的 Go 開源項目。
為什么要有 Go Commons?
目前 Golang 的工具庫非常分散:有些只解決一個小問題,有些寫法復雜過度封裝,還有一些早已無人維護。Go Commons 的目標就是 “小白友好、即拿即用、覆蓋常見場景”。
無論是 字符串處理、文件操作、HTTP 請求,還是 資源采集、Prometheus exporter 集成,都能在這里找到簡單直接的實現。
如何使用 Go Commons?
1. 拉取依賴
只需要在你的項目里引入:
go get github.com/Rodert/go-commons
2. 在 main.go
中調用
假設你想獲取當前服務器的內存使用情況,只需幾行代碼:
package mainimport ("fmt""github.com/Rodert/go-commons/sysinfo"
)func main() {mem := sysinfo.GetMemoryUsage()fmt.Printf("Total: %v MB, Used: %v MB, Free: %v MB\n",mem.TotalMB, mem.UsedMB, mem.FreeMB)
}
直接運行:
go run main.go
是不是非常直觀?不用研究復雜的 API,就能快速拿到結果。
結合 Prometheus Exporter
如果你希望把這些指標暴露給 Prometheus,只需要額外幾行代碼:
package mainimport ("net/http""github.com/prometheus/client_golang/prometheus/promhttp"
)func main() {http.Handle("/metrics", promhttp.Handler())http.ListenAndServe(":2112", nil)
}
運行后,Prometheus 就能通過 http://localhost:2112/metrics
拉取你采集到的數據,實現 “迷你版 Node Exporter” 的效果。
可以用 Go Commons 做什么?
- 寫一個小腳本,快速采集 CPU / 內存 / 磁盤 數據;
- 集成到 Prometheus,搭建輕量化的監控;
- 替代復雜的第三方庫,減少依賴風險;
- 作為學習 Go 的練手項目,一步步拓展。
總結
Go Commons 的價值就在于:把常用的功能打包好,開發者直接拿來用。
它不像一些框架那樣“重”,而是追求“夠用 + 簡單”。
如果你剛開始學習 Go,或者想要一個輕量化的工具庫,不妨試試:
👉 GitHub 倉庫地址