在 Lua 中,跳转控制语句除了有 break 之外,还可以使用 return。如果 return 语句使用在普通的 函数 中,则表示跳出该函数,不再执行函数中 return 后面的代码,可以理解成终止函数。
function fun()
-- statement
return
end
使用 return 语句,终止函数 fun 的执行。
for express1, express2, express3 do
return
end
使用 return 语句,终止 for 循环的执行。
使用 return 语句,终止函数执行
#!/usr/bin/lua
print("haicoder(www.haicoder.net)\n")
function checkUserParam(val)
if (val <= 0)
then
print(string.format("Val is:%d, UserParam check Error", val))
return
end
print(string.format("Val is:%d, UserParam check OK", val))
end
checkUserParam(10)
checkUserParam(-1)
程序运行后,控制台输出如下:
我们定义了 checkUserParam 函数,并使用 if 语句 判断,如果 val 的值小于等于 0,那么就使用 return 语句,结束该函数的运行。
我们看到,输出了函数校验出错的信息。在函数 checkUserParam 的 return 语句后面的所有的代码都不会被执行,整个函数被终止。
使用 return 语句,终止循环执行
#!/usr/bin/lua
print("haicoder(www.haicoder.net)\n")
for i = 0, 5, 1
do
if (i == 3)
then
return
end
print(string.format("i = %d", i))
end
print("Over")
程序运行后,控制台输出如下:
我们在 for 循环中,使用了 if 判断,如果 i 的值等于 3,那么我们就使用 return 结束循环的执行,这里使用了 return,那么 return 下面的所有代码都不会再执行。
因此,我们的程序只输出了 0,1,2,最后的 “Over” 也不会输出,即整个程序被 return 终止了。
在 Lua 中,跳转控制语句除了有 break 之外,还可以使用 return。如果 return 语句使用在普通的函数中,则表示跳出该函数,不再执行函数中 return 后面的代码,可以理解成终止函数。