English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A instrução goto no Lua permite que o fluxo de controle seja transferido para uma instrução marcada sem condições.
O formato de sintaxe é como follows:
goto Rótulo
O formato do rótulo é:
:: Rótulo ::
O seguinte exemplo demonstra o uso de goto em uma instrução de condição:
local a = 1 ::rótulo:: print("--- goto rótulo ---)") a = a+1 if a < 3 then goto rótulo -- a menor que 3 ao invés de endO resultado da saída é:
--- goto rótulo --- --- goto rótulo ---
do resultado de saída, podemos ver que a saída foi repetida uma vez mais --- goto rótulo ---。
O seguinte exemplo demonstra que podemos definir várias instruções em um rótulo:
i = 0 ::s1:: do print(i) i = i+1 end if i>3 then os.exit() -- i maior que 3 ao sair end goto s1
O resultado da saída é:
0 1 2 3
Com goto, podemos implementar a função continue:
for i=1, 3 do if i <= 2 then print(i, "yes continue") goto continue end print(i, " no continue") ::continue:: print([[i'm end]]) end
O resultado da saída é:
1 yes continue i'm end 2 yes continue i'm end 3 no continue i'm end