Yield语句
使用yield关键字对函数的起始点进行更改以便将来调用。在执行时,yield语句的功能类似于return语句并且此语句甚至还能返回数值。而两种语句之间存在有不同之处,即在调用下一个函数期间会从yield运算符后面的指令处开始执行。
语法
// some_code_before;
yield value;
// some_code_after;
部分
- value 是计算得出的值,为可选选项(默认值为0)。
示例
int foo() {
begin:
// 首次调用从此处开始执行
log.message("one, ");
// 首次调用在此结束
yield;
// 第二次调用从此处开始执行
log.message("two, ");
// 第二次调用在此结束
yield;
// 第三次调用从此处开始执行
log.message("three, ");
// 第三次调用在此结束
yield;
// 第四次调用从此处开始执行
goto begin;
}
forloop(int i = 0; 10) foo();
// 结果为: one, two, three, one, two, …
最新更新: 2017-07-03
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)