欢迎加入开源项目,提你的 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 仓库地址