学习和使用 Golang 的过程中,你可能遇到过这样的困扰:

  • 想做一些常见的字符串处理,却要么找不到现成的方法,要么需要引入笨重的第三方库;
  • 想获取 CPU、内存、磁盘等系统指标,结果发现要么写很多底层代码,要么依赖大而全的框架;
  • 网上资料鱼龙混杂,想找一个简洁、开箱即用的工具库很难。

为了解决这些问题,我创建了一个开源项目:👉 Rodert/go-commons
它主打两个关键词:轻量实用


🚀 项目特点

  • 零第三方依赖:完全基于 Go 标准库,轻巧、干净。
  • 功能覆盖常用场景:字符串处理 + 系统资源采集。
  • 跨平台:支持 Linux、macOS、Windows。
  • 文档完善:有 Swagger API 文档和 examples,照抄就能跑。

🛠 使用示例

1. 字符串工具(stringutils)

你不再需要从头实现常见的字符串函数:

package main

import (
    "fmt"
    "github.com/Rodert/go-commons/stringutils"
)

func main() {
    fmt.Println(stringutils.IsBlank("  \t\n"))            // true
    fmt.Println(stringutils.Trim("  hello  "))            // "hello"
    fmt.Println(stringutils.TruncateWithSuffix("abcdef", 4, "..")) // "ab.."
    fmt.Println(stringutils.Reverse("hello"))             // "olleh"
    fmt.Println(stringutils.PadLeft("42", 5, '0'))        // "00042"
}

适合写 demo、快速验证逻辑,或者替代重复造轮子的工具函数。


2. 系统工具(systemutils)

轻松获取 CPU、内存、磁盘的运行状态:

package main

import (
    "fmt"
    "github.com/Rodert/go-commons/systemutils/cpuutils"
    "github.com/Rodert/go-commons/systemutils/memutils"
    "github.com/Rodert/go-commons/systemutils/diskutils"
)

func main() {
    // CPU
    cpuInfo, _ := cpuutils.GetCPUInfo()
    fmt.Printf("CPU Usage: %.2f%%\n", cpuInfo.UsagePercent)

    // Memory
    memInfo, _ := memutils.GetMemInfo()
    fmt.Printf("Memory Used: %d / %d bytes\n", memInfo.Used, memInfo.Total)

    // Disk
    diskInfo, _ := diskutils.GetDiskInfo("/")
    fmt.Printf("Disk Used: %.2f%%\n", diskInfo.UsedRatio)
}

只需几行代码,就能采集资源指标,非常适合做监控、运维小工具。


📖 在线文档

我们提供了交互式 API 文档(Swagger UI):
👉 https://rodert.github.io/go-commons

同时支持本地启动:

./run_apidocs.sh
# 浏览器访问 http://localhost:8080

🤝 一起来贡献

开源的意义不只是分享,更在于 协作和共建

目前项目还在早期阶段,我们非常欢迎大家参与:

  • 补充更多实用的字符串工具函数;
  • 增加新的系统指标采集能力(网络流量、进程信息等);
  • 完善 examples 和文档;
  • 帮忙测试不同平台的兼容性。

如果你是 Golang 学习者,这会是一个绝佳的练手机会;
如果你是 经验开发者,欢迎一起把工具库做得更好。

👉 项目地址:https://github.com/Rodert/go-commons


📝 总结

Go Commons 不是要做“大而全”的框架,而是一个 简洁实用、可随手调用的工具库
它就像是 Go 世界里的“瑞士军刀”,小巧,却能解决你日常开发的很多问题。

我非常期待更多朋友一起来完善它,
让 Go 开发者在写代码时,能少一点重复劳动,多一点快乐。 🚀