break,return 和 goto
Last updated
Last updated
语句 break
用来终止 while
、repeat
和 for
三种循环的执行,并跳出当前循环体, 继续执行当前循环之后的语句。下面举一个 while
循环中的 break
的例子来说明:
在实际应用中,break
经常用于嵌套循环中。
return
主要用于从函数中返回结果,或者用于简单的结束一个函数的执行。 关于函数返回值的细节可以参考 章节。return
只能写在语句块的最后,一旦执行了 return
语句,该语句之后的所有语句都不会再执行。若要写在函数中间,则只能写在一个显式的语句块内,参见示例代码:
有时候,为了调试方便,我们可以在某个函数的中间提前 return
,以进行控制流的短路。此时我们可以将 return
放在一个 do ... end
代码块中,例如:
LuaJIT 一开始对标的是 Lua 5.1,但渐渐地也开始加入部分 Lua 5.2 甚至 Lua 5.3 的有用特性。 goto
就是其中一个不得不提的例子。
有了 goto
,我们可以实现 continue
的功能:
输出结果:
goto
的另外一项用途,就是简化错误处理的流程。有些时候你会发现,直接 goto 到函数末尾统一的错误处理过程,是更为清晰的写法。
在 这个页面上,你能看到更多用 goto
玩转控制流的脑洞。
PS :推荐大家多关注: , 说不定你就发现了新大陆。