local coco = coroutine.create(
function(i)
print(i+1)
--暂停携程
coroutine.yield()
return i + 10
end
)
--调用携程
--第一个传递的为 是否开启协程 第二个参数传递的为 i 的值
res1,res2 = coroutine.resume(coco,3)
print(res1,res2)
--继续运行 --
res3,res4= coroutine.resume(coco,5)
print(res3,res4)




print("--------------------------------------------------------------------------------------------")



local luaCo = coroutine.create(
function(i)
print(i+1)
--暂停携程
coroutine.yield(i+5)
return i + 10
end
)
--调用携程
--第一个传递的为 是否开启协程 第二个参数传递的为 形参
res5,res6 = coroutine.resume(luaCo,3)
print(res5,res6)
--继续运行 -- 继续运行的时候直接走yield 之后的逻辑,传递进来的 i 值即为 8,也就是说为 i 返回出来的值
res7,res8= coroutine.resume(luaCo)
print(res7,res8)

Lua - 协同程序(二)返回值_参数传递