很多刚入门 Go 的同学都会遇到一些“小麻烦”:
- 判断字符串是不是空?
- 想给数字补 0?
- 想截断一个字符串?
其实这些问题,go-commons 都帮你准备好了。
下面我用问答的方式,带你 10 分钟入门这个开源项目。
Q1:我要怎么安装?
只需要一行命令:
go get github.com/Rodert/go-commonsGo 会自动把它下载到你的项目里。
Q2:我怎么在 main.go 里用?
来个最简单的例子。
先写一个 main.go:
package main
import (
"fmt"
"github.com/Rodert/go-commons/stringutils"
)
func main() {
str1 := ""
str2 := " "
str3 := "golang"
fmt.Println("IsEmpty:", stringutils.IsEmpty(str1)) // true
fmt.Println("IsBlank:", stringutils.IsBlank(str2)) // true
fmt.Println("Capitalize:", stringutils.Capitalize(str3)) // "Golang"
fmt.Println("Truncate:", stringutils.Truncate("Hello, World!", 5)) // "Hello"
}运行:
go run main.go你会看到输出:
IsEmpty: true
IsBlank: true
Capitalize: Golang
Truncate: HelloQ3:如果我想补齐字符串,像数字补零呢?
只要调用 LeftPad 或 RightPad:
fmt.Println(stringutils.LeftPad("7", 3, "0")) // "007"
fmt.Println(stringutils.RightPad("7", 3, "0")) // "700"Q4:如果我想要更多示例?
你可以试试这些:
fmt.Println(stringutils.Contains("golang", "go")) // true
fmt.Println(stringutils.LowerCase("GoLang")) // "golang"
fmt.Println(stringutils.UpperCase("golang")) // "GOLANG"
fmt.Println(stringutils.TruncateWithSuffix("abcdefg", 4, "...")) // "a..."Q5:除了字符串,未来还有啥?
仓库里还有一个 systemutils 包,目前正在逐步开发,将来可以直接获取:
- CPU 信息
- 内存使用情况
- 磁盘空间
比如将来可能是这样的用法:
import "github.com/Rodert/go-commons/systemutils"
func main() {
cpu := systemutils.CPUInfo()
fmt.Println(cpu)
}Q6:这个库适合谁?
- 新手:不用每次都写重复的小函数,省时间
- 项目组:少依赖,纯标准库实现,更安全
- 喜欢造轮子的人:你也可以参与贡献,把自己的工具方法放进去
结语
一句话总结:
👉 如果你想更轻松写 Go,就用 go-commons。
从 go get 开始,复制上面的 main.go,你就能马上跑起来。
















