Repolode
dustin

dustin/go-humanize

一个 Go 小型库,把字节大小、时间、数字和序数格式化为便于阅读的字符串。

Star
4,846
Fork
278
未关闭 Issue
27
最近提交
11天前

这是什么?

go-humanize 是一个 Go 包,用于把字节数、时间戳、整数等原始数值转换成便于人阅读的字符串。例如字节数 82854982 会被格式化为 "83 MB" 或 "79 MiB",时间则可以表示为相对当前的说法,如 "7 hours ago" 或 "3 days from now"。

该库还提供序数格式(1st、2nd、193rd)、千分位逗号、去除末尾零的浮点数输出,以及 nM 这类 SI 前缀格式化。其 english 子包提供简单的英文复数处理和词语列表拼接,支持牛津逗号写法。

所有功能都是普通的 Go 函数调用,文档可在 pkg.go.dev 查阅。

核心功能

  • 01将字节大小格式化为 SI(MB)或二进制(MiB)单位。
  • 02把时间转换为 "12 seconds ago" 这类相对时间表达。
  • 03为数字添加序数后缀,如 1st、2nd、3rd。
  • 04为整数添加千分位分隔符。
  • 05english 子包提供英文复数处理和词语列表拼接。

适用场景

  • 在命令行工具或 Web 面板中显示文件大小。
  • 在界面中显示 "5 分钟前更新" 这类时间文案。
  • 在报表中格式化数量和金额。
  • 为动态消息生成语法正确的英文标签。

快速上手

  1. 1

    使用 go get 安装该库

    go get github.com/dustin/go-humanize
  2. 2

    在 Go 代码中以 humanize 导入

使用前须知

  • 项目元数据无法确定其许可证,商用前请先查看代码仓库。

标签

常见问题

go-humanize 是什么?
一个 Go 小型库,把字节大小、时间、数字和序数格式化为便于阅读的字符串。 go-humanize 是一个 Go 包,用于把字节数、时间戳、整数等原始数值转换成便于人阅读的字符串。例如字节数 82854982 会被格式化为 "83 MB" 或 "79 MiB",时间则可以表示为相对当前的说法,如 "7 hours ago" 或 "3 days from now"。
go-humanize 可以免费使用吗?用的什么许可证?
go-humanize 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
go-humanize 还在维护吗?
活跃维护中。go-humanize 最近一次提交是在 2026年10月13日。
go-humanize 适合用来做什么?
在命令行工具或 Web 面板中显示文件大小。 在界面中显示 "5 分钟前更新" 这类时间文案。 在报表中格式化数量和金额。 为动态消息生成语法正确的英文标签。
go-humanize 怎么安装和运行?
使用 go get 安装该库: go get github.com/dustin/go-humanize 在 Go 代码中以 humanize 导入
在哪里获取 go-humanize?
源代码和安装说明在 GitHub 上:https://github.com/dustin/go-humanize

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目