Go 标准库没有名为 pkg 或 tools 的通用工具包,常用工具函数分布在 strings、strconv、filepath、bytes 等专用子包中,各司其职覆盖 90% 日常需求。

Go 标准库 本身没有叫 pkg 或 tools 的“工具 函数包”,也没有名为 package _(下划线包)的通用工具集。你提到的 package _ 通常用于 ** 仅导入以触发包的初始化函数(如 init())**,而非提供可调用的工具函数。真正提供常用工具函数的是多个具体的标准库子包,比如 strings、strconv、path/filepath、bytes、sort、reflect 等。
常用字符串处理:strings 包
这是最常被使用的工具包之一,提供大小写转换、查找、分割、替换等非正则操作。
-
strings.TrimSpace(s):去掉首尾空白字符(包括 n、t、空格) -
strings.Split(s, ","):按分隔符切片,返回[]string -
strings.Join(ss, "-"):把字符串切片用指定分隔符拼接成单个字符串 -
strings.Contains(s, "go"):判断是否包含子串 -
strings.Title(s)(已弃用,推荐用cases.Title)或strings.ToUpper/ToLower
数值与字符串互转:strconv 包
安全、高效的类型转换核心包,避免 panic,返回 error 可显式检查。
-
strconv.Atoi("42")→int, error -
strconv.ParseFloat("3.14", 64)→float64, error -
strconv.Itoa(123)→"123"(仅限 int) -
strconv.FormatBool(true)→"true" -
strconv.Unquote(`"hello"`)→ 去掉引号并解析转义(如"\n"→"n")
路径与文件名操作:path/filepath 包
跨平台处理文件路径,自动适配 Windows/Linux/macOS 的路径分隔符。
立即学习“go 语言免费学习笔记(深入)”;
-
filepath.Join("a", "b", "c.txt")→"a/b/c.txt"(Windows 下为"abc.txt") -
filepath.Base("/tmp/file.go")→"file.go" -
filepath.Dir("/tmp/file.go")→"/tmp" -
filepath.Ext("image.png")→".png" -
filepath.WalkDir(root, fn):遍历目录树(推荐替代旧版Walk)
字节 切片与 编码:bytes 包
功能几乎与 strings 完全对应,但操作对象是 []byte,适合处理二进制数据或避免频繁 string/[]byte 转换。
-
bytes.Equal(a, b):安全比较两个字节切片(比==更可靠) bytes.Contains(b, []byte("err"))bytes.ReplaceAll(b, []byte("old"), []byte("new"))-
bytes.Fields(b):按空白字符分割(类似strings.Fields) - 搭配
bytes.Buffer构建高效字符串拼接器(比+或fmt.Sprintf更省内存)
不复杂但容易忽略:标准库设计强调“小而专”,没有所谓“万能工具包”。掌握几个高频子包(strings、strconv、filepath、bytes、sort、time)就覆盖了 90% 日常需求。不需要额外引入第三方,也不用写 import _ "xxx" 来“加载工具函数”——直接导入并使用即可。