golang示例:for九九乘法表

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" (宽度不够时不截断)
}
相关推荐
点心的游戏开发世界2 小时前
GDScript 入门笔记(十一):Lambda 与匿名函数
开发语言·笔记·游戏引擎·godot
phltxy3 小时前
C语言操作符详解
java·c语言·算法
aqiu1111113 小时前
【LeetCode 902】最大为 N 的数字组合 - 详细题解与数位组合思路
数据结构·算法·leetcode·蓝桥杯·数位dp
辰烨chenye4 小时前
LeetCode Hot 100 题解 · 哈希篇
算法·leetcode·哈希算法
事圆则缓4 小时前
Kotlin 协程完全指南
开发语言·kotlin
罗西的思考4 小时前
DreamZero 与 DreamDojo:世界模型与策略的分层协同综合分析与对比
人工智能·算法·机器学习
我爱写代码i5 小时前
BeLink - 支持生成多种URL 缩短网址PHP源码
开发语言·php·短网址php源码
Java后端的Ai之路5 小时前
20、Python - 备忘录模式
开发语言·人工智能·python·外观模式·备忘录模式
玖玥拾5 小时前
LeetCode 219 存在重复元素 II
算法·leetcode·哈希算法·散列表