欢迎加入开源项目,提你的 mr

Go Commons:Golang 开发者的常用工具集,一站式解决常见需求

在 Go 语言的开发过程中,你是不是经常遇到这样的情况:

  • 想要做点小功能,却得从零写起,或者到处找三方库;
  • 三方库鱼龙混杂,不知道哪个好用、哪个还在维护;
  • 想要快速上手一个 demo,却因为依赖配置、用法不清晰而被劝退。

这正是 Go Commons


为什么要有 Go Commons?

目前 Golang 的工具库非常分散:有些只解决一个小问题,有些写法复杂过度封装,还有一些早已无人维护。Go Commons 的目标就是 “小白友好、即拿即用、覆盖常见场景”

无论是 字符串处理、文件操作、HTTP 请求,还是 资源采集、Prometheus exporter 集成,都能在这里找到简单直接的实现。


如何使用 Go Commons?

1. 拉取依赖

只需要在你的项目里引入:

go get github.com/Rodert/go-commons

2. 在 main.go 中调用

假设你想获取当前服务器的内存使用情况,只需几行代码:

package main

import (
    "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 main

import (
    "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 仓库地址