小唯快跑啊
使用带有of和填充字符Printf的fmt 包中的函数:width60import "fmt"fmt.Printf("%06d", 12) // Prints to stdout '000012'通过在格式说明符('动词')之前直接放置一个整数来设置宽度:fmt.Printf("%d", 12) // Uses default width, prints '12'fmt.Printf("%6d", 12) // Uses a width of 6 and left pads with spaces, prints ' 12'Golang(和大多数其他语言)支持的唯一填充字符是空格和0:fmt.Printf("%6d", 12) // Default padding is spaces, prints ' 12'fmt.Printf("%06d", 12) // Change to 0 padding, prints '000012'可以通过在前面加上减号来右对齐打印-:fmt.Printf("%-6d", 12) // Padding right-justified, prints '12 '请注意,对于浮点数,宽度包括整个格式字符串:fmt.Printf("%06.1f", 12.0) // Prints '0012.0' (width is 6, precision is 1 digit)需要注意的是,宽度也可以通过使用*而不是数字并将宽度作为int参数传递来以编程方式设置:myWidth := 6fmt.Printf("%0*d", myWidth, 12) // Prints '000012' as before例如,如果您要打印的最大值仅在运行时已知(maxVal在以下示例中调用),这可能很有用:myWidth := 1 + int(math.Log10(float64(maxVal)))fmt.Printf("%*d", myWidth, nextVal)最后,如果您不想打印到stdout但返回字符串,Sprintf也可以使用具有相同参数的fmt 包:s := fmt.Sprintf("%06d", 12) // returns '000012' as a String