国际访客建议访问 Primers 编程伙伴 国际版站点 > Lua 教程 > while 循环语句 以获得更好的体验。

# Lua 的 while 循环语句

循环语句是一种让程序重复执行一段代码的控制结构。

Lua 的 while 循环语句语法结构为:

while 条件 do
    代码块
end
  • 判断“条件”是否为 true

    • 如果为 true 则执行循环体,然后进入下一轮循环

    • 如果为 false 则结束循环

graph TD
    START([开始]) --> COND{循环条件?} -- 真 --> 循环体 --> COND
    COND -- 假 --> END([结束])

示例:

local i = 5
while i > 0 do  -- 当 i 大于 0 时执行循环 
    print("当前 i 的值为", i)
    i = i - 1   -- 将 i 的值减少 1
end

运行结果:

当前 i 的值为   5
当前 i 的值为   4
当前 i 的值为   3
当前 i 的值为   2
当前 i 的值为   1

# break

break 用于用于终止当前循环(包括 while 以外的循环),继续执行循环之后的代码。

示例:

local i = 10
while i > 0 do      -- 当 i 大于 0 时执行循环
    if i == 5 then
        break       -- 提前结束循环
    end

    print("当前 i 的值为", i)
    i = i - 1       -- 将 i 的值减少 1
end

运行结果:

当前 i 的值为   10
当前 i 的值为   9
当前 i 的值为   8
当前 i 的值为   7
当前 i 的值为   6

# goto

goto 可以将程序的执行跳转到指定的位置。

语法为:

goto 标签

其中标签的定义方式为两对冒号:

::标签::

和大多数编程语言不同, Lua 不支持 continue,下面的示例通过 goto 实现类似的功能:

local i = 10
while i > 0 do          -- 当 i 大于 0 时执行循环
    if i % 2 == 0 then
        goto continue   -- 跳转到 continue 标签位置
    end

    print("当前 i 的值为", i)
    
    ::continue::

    i = i - 1           -- 将 i 的值减少 1
end

运行结果:

当前 i 的值为   9
当前 i 的值为   7
当前 i 的值为   5
当前 i 的值为   3
当前 i 的值为   1
本文 更新于: 2025-11-27 09:38:12 创建于: 2025-11-27 09:38:12