
本文详解如何在 go 语言中使用单 for 循环和双 for 循环两种方式,高效打印 25 行逐行递增的字母图案(如 g、gg、ggg…),避免字符串重复拼接,提升代码可读性与性能。
本文详解如何在 go 语言中使用单 for 循环和双 for 循环两种方式,高效打印 25 行逐行递增的字母图案(如 g、gg、ggg…),避免字符串重复拼接,提升代码可读性与性能。
在 Go 编程练习中,打印规律性字符图案是理解循环控制结构的经典场景。以打印 25 行递增的字母 G 为例(第 1 行 1 个 G,第 2 行 2 个 G,……,第 25 行 25 个 G),关键在于区分「逻辑层级」:单循环方案依赖字符串累积,而双循环方案则更符合“每行独立构建”的直观建模——外层控制行数,内层控制每行字符数量。
✅ 推荐的双 for 循环写法(清晰、高效、无内存冗余)
"G"
- 双循环适用于需动态控制每行内容长度的场景,结构清晰,利于调试与维护;
- 避免用空转内层循环“假装”双循环,应确保内外层各司其职;
- 字符串拼接在循环中需谨慎——高频
+=可能引发多次内存分配,优先考虑strings.Builder或strings.Repeat; - 行索引推荐从
0开始(Go 惯例),通过j 或j 映射到实际字符数,比从1开始更统一。










