Go fmt 提供了格式化值宽度的功能,通过在格式字符串中使用数字控制宽度。
例如,以下代码展示了如何使用 fmt.Printf 函数格式化字符串,并控制宽度为 10:
package main
import "fmt"
func main() {
s := "hello"
fmt.Printf("|%10s|\n", s)
}
输出:
| hello|
在格式字符串 %10s
中,数字 10
表示要输出的字符串宽度为 10,如果字符串长度不足 10,则会在左侧补空格。反之,如果字符串长度大于 10,则不会被截断,直接输出。
类似地,可以通过 %10d
控制输出的数字宽度为 10,如下示例:
package main
import "fmt"
func main() {
n := 123
fmt.Printf("|%10d|\n", n)
}
输出:
| 123|
在格式字符串 %10d
中,数字 10
表示要输出的数字宽度为 10,如果数字位数不足 10,则会在左侧补空格。如果数字位数大于 10,则不会被截断,直接输出。
还可以使用负数控制左对齐:
package main
import "fmt"
func main() {
s := "hello"
fmt.Printf("|%-10s|\n", s)
}
输出:
|hello |
在格式字符串 %-10s
中,数字 -10
表示要输出的字符串宽度为 10,左对齐输出。如果字符串长度不足 10,则会在右侧补空格,反之,则不会被截断,直接输出。