Go语言基础:循环与条件

1. for循环基础

Go语言仅保留`for`循环结构,支持多种变体形式,包括传统C风格、范围遍历等:

示例:for循环变体

关键点说明:

  • 无`while`和`do-while`关键字,通过`for`实现
  • 范围遍历(`range`)返回索引和值,可通过`_`忽略不需要的部分
  • 无限循环需通过`break`或`return`终止

2. if条件语句

Go的`if`语句支持初始化子句(可声明局部变量),条件无需括号包裹:

示例:if条件使用

注意事项:

  • 初始化子句声明的变量仅在`if`作用域内有效
  • 支持嵌套`if`语句,但建议保持逻辑简洁

3. switch分支语句

Go的`switch`语句功能强大,支持类型断言、无表达式形式(类似多条件`if-else`)和自动break(需`fallthrough`显式穿透):

示例:switch高级用法

特性总结:

  • 无表达式`switch`等价于`if-else if`链
  • 支持多个值匹配(用逗号分隔)
  • `fallthrough`关键字可穿透到下一个case(需谨慎使用)

4. 循环控制语句

Go提供`break`、`continue`和`goto`控制循环流程,`goto`通常用于跳出多层循环:

示例:循环控制

使用建议:

  • `break`和`continue`默认作用于最内层循环,可通过标签作用于外层循环
  • `goto`应尽量少用,避免代码逻辑混乱
  • 标签需定义在目标语句前,且仅在当前函数内有效

5. 实战:打印乘法表

通过嵌套循环实现99乘法表,综合应用`for`循环和格式化输出:

示例:99乘法表

输出结果:

1×1=1   
1×2=2   2×2=4   
1×3=3   2×3=6   3×3=9   
...(后续行类似)

关键点:

  • 外层循环控制行数(i从1到9)
  • 内层循环控制每行的列数(j从1到i)
  • 使用`%-4d`格式化字符串实现左对齐,保证输出对齐美观
"}}}