Go
package main
import "fmt"
const maxNum = 9
func main() {
for i := 1; i <= maxNum; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d×%d=%-2d ", j, i, i*j)
}
fmt.Println()
}
}
其中%-2d 是 Go 语言(以及 C 语言家族)中 fmt.Printf 的格式化动词,用于控制整数输出的格式。
拆解说明:
bash
% - 2 d
│ │ │ │
│ │ │ └── 动词:d 表示十进制整数(decimal)
│ │ └───── 宽度:2 表示最小输出宽度为 2 个字符
│ └──────── 标志:- 表示左对齐(默认是右对齐)
└─────────── 格式化占位符起始符
具体效果对比:
Go
package main
import "fmt"
func main() {
//1. %2d(默认右对齐,宽度 2)
fmt.Printf("%2d", 1) // 输出: " 1" (前面有一个空格)
fmt.Printf("%2d", 12) // 输出: "12" (宽度正好)
fmt.Printf("%2d", 123) // 输出: "123" (宽度不够时不截断)
//2. %-2d(左对齐,宽度 2)
fmt.Printf("%-2d", 1) // 输出: "1 " (后面有一个空格)
fmt.Printf("%-2d", 12) // 输出: "12" (宽度正好)
fmt.Printf("%-2d", 123) // 输出: "123" (宽度不够时不截断)
}