将 uint32 转换为字符串并添加前导 0

Convert uint32 to string and add leading 0s

我需要将 uint32 转换为字符串并将前导零添加到固定长度。我该怎么做?

这是我的代码:

var unixTs uint32 = 1446455472
var randomInt uint32 = 58964981
var expiredTs uint32 = 2

unixTsStr := fmt.Sprint("%010d", unixTs)
randomIntStr := fmt.Sprint("%08d", randomInt)
expiredTsStr := fmt.Sprint("%010d", expiredTs)

输出打印:

%010d1446455472
%08d58964981
%010d2

我想要的是:

1446455472
58964981
0000000002

谢谢!

使用fmt.Sprintf instead of fmt.Sprint。 Sprintf 根据格式说明符格式化。 Sprint 格式使用每个参数的默认格式。

playground example