
本文详解如何用 go 语言通过单层与双层 for 循环打印指定行数(25 行)的递增字母图案(如 g、gg、ggg…),重点优化双循环实现,避免字符串拼接开销,提升可读性与性能。
本文详解如何用 go 语言通过单层与双层 for 循环打印指定行数(25 行)的递增字母图案(如 g、gg、ggg…),重点优化双循环实现,避免字符串拼接开销,提升可读性与性能。
在 Go 编程练习中,打印规律性字符图案是理解循环控制结构的经典场景。题目要求输出 25 行递增的字母 G:第 1 行 1 个 G,第 2 行 2 个 G,……,第 25 行 25 个 G,每行末尾换行。
✅ 推荐的双 for 循环写法(高效、清晰)
最直观且符合逻辑的双循环解法是:外层循环控制行号(0 到 24),内层循环控制当前行打印的 G 个数。关键在于——第 i 行(从 0 开始计数)应打印 i + 1 个 G;若外层索引 i 从 0 开始,则内层循环条件设为 j (即执行 i+1 次),或更惯用的 j :
counter += "G"
- 双循环核心原则:外层控行,内层控列(本例中即每行字符数);
-
性能优先:避免在循环中反复拼接字符串,推荐
fmt.Print+fmt.Println()组合; -
可读性至上:循环变量命名(如
i,j)应配合注释明确其语义(如row,col); -
边界处理:统一使用
i (而非i )更符合 Go 社区习惯,减少越界风险。
掌握这种模式后,可轻松扩展至其他字符(如 *、#)、多字符序列(如 "GO")或倒三角、菱形等复合图案。










