在函数体内可使用:符号编写“跳转标签生成语句”,在编译时生成跳转标签(Label)。
在同一个函数体内,可使用goto关键字编写“跳转语句”,在运行时跳转到指定标签位置,执行代码。
public plugin_precache()
{
// 生成Init标签,模拟for循环语句的初始化语句位置
Init:
server_print("来到Init位置执行代码.");
new counter = 1;
// 生成Continue标签,模拟for循环语句的条件表达式位置
Continue:
server_print("第%d次来到Continue位置执行代码.", counter);
if (counter < 10)
{ // 模拟for循环语句的循环体入口
// 这里填写for循环体内代码
// 可用goto Continue模拟continue关键字
// 可用goto Break和break关键字
server_print("第%d次进入循环体.", counter);
// 模拟for循环语句的迭代语句
counter++;
// 跳转到Continue:位置
goto Continue;
}
// 生成Break标签,模拟for循环语句的循环体出口位置
Break:
server_print("来到Break位置执行代码.");
}
public plugin_precache()
{
// for (初始化语句; 条件表达式; 迭代语句)
for (new counter = 1; counter < 10; counter++)
{ // 循环体入口
server_print("第%d次进入循环体.", counter);
} // 循环体出口
}