Lua goto 语句

Lua 循环 Lua 循环

Lua 语言中的 goto 语句允许将控制流程无条件地转到被标记的语句处。

语法

语法格式如下所示:

goto Label

Label 的格式为:

:: Label ::

以下实例在判断语句中使用 goto:

实例 1

locala=1
::label::print("--- goto label ---")

a=a+1
ifa<3then
    goto label   -- a 小于 3 的时候跳转到标签 label
end

输出结果为:

--- goto label --- --- goto label ---

从输出结果可以看出,多输出了一次--- goto label ---

以下实例演示了可以在 lable 中设置多个语句:

实例 2

i = 0
::s1::do
  print(i)
  i = i+1
end
ifi>3then
  os.exit() -- i 大于 3时退出
end
goto s1

输出结果为:

0 1 2 3

有了 goto,我们可以实现 continue 的功能:

实例 3

fori=1,3do
    ifi<=2then
        print(i,"yes continue")
        goto continue
    end
    print(i," no continue")
    ::continue::
    print([[i'm end]])
end

输出结果为:

1 yes continue i'm end 2 yes continue i'm end 3 no continue i'm end

Lua 循环 Lua 循环