上QQ阅读APP看书,第一时间看更新
3.5 goto语句与标签
如果大家学习过C语句,也许知道在goto语句的争议是很大的。不过,在一些特殊情况下,goto语句和标签的使用却是效率最高的,比如,在需要跳出嵌套的循环语句结构时。如下面的代码。
int lockedZone = 0; while (YES) { for (int i=1; i <= 10; i++) { // 可疑情况的出现很随机 if (arc4random() % 2 == 1) { NSLog(@"警告:一号雷达在%i号区域发现可疑目标", i); lockedZone = i; goto RadarOneStop; } } } RadarOneStop: NSLog(@"一号雷达锁定目标,停止扫描");
在这个代码中,当一号雷达发现了可疑目标以后,则锁定此区域,并停止工作,当然,在前面的示例中,我们也可以看到,实际会有二号雷达来继续扫描其他区域。
在Objective-C中,我们通过“<标签名称>:”的格式来定义一个标签,然后,可以使用“goto <标签名称>; ”语句跳转到此标签的位置。