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" (宽度不够时不截断)
}
相关推荐
302wanger35 分钟前
DeepSeek-V4.1-Flash-1017 免费用到1024,速来
算法
爱喝热水的呀哈喽1 小时前
HEJIAN RESEARCH
开发语言·matlab
白露与泡影1 小时前
后端 Java 面试核心八股汇总|高频面试题 + 解析,覆盖基础到进阶
java·开发语言·面试
lisw051 小时前
微分与积分的本质区别解析
算法·数学建模·极限编程
xifangge20251 小时前
基于 JavaScript 实现 CNC 数控切削参数与螺纹公差纯前端核算引擎
开发语言·前端·javascript
“AI国潮设计-小江”1 小时前
【AIGC实战】Python+SDXL批量生成「潮汕英歌舞冰淇淋蛋糕&红桃粿咖啡」IP,固定角色形象批量出甜品商业效果图
开发语言·人工智能·python·prompt·aigc
xys_6781 小时前
深挖数据结构:树和二叉树(上)
数据结构·算法
\光辉岁月/2 小时前
3.包装类
java·开发语言·包装类
紧跟先前的步伐2 小时前
Go AI Agent 实战 02|大语言模型(LLM)到底是怎么工作的
人工智能·语言模型·golang
Interview Aid1122 小时前
Google SWE Intern VO 面经:两轮 Coding,Follow-up 考察 BFS 状态
算法