如何在Swift代码中将控制转移到特定行?
在Objective-C中,我会使用goto
来执行以下操作:
if(a==b)
{
goto i123;
}
else
{
goto i456;
}
NSLog(@"the not reachable point");
i123:
NSLog(@"line 123 is here");
int j = 5;
int x = 2+j;
i456:
NSLog(@"line 456 is here");
我在Swift中找到的唯一控制转移语句是
continue
,break
,fallthrough
和return
。
continue
和break
只能与循环一起使用;return
和fallthrough
不能以这种方式传递控制。那我应该使用什么? 编辑: Julien__的答案实际上没有解决我的问题,但它可能是现在唯一可用的选项。因此,我接受了Julien__的答案。
i456:
之后使用x
的值。Swift语言的一个目标是,编译器可以检查所有变量在使用之前是否已初始化。 - Martin Rgoto
最初是在没有子程序的程序中使用的一种解决方法。 - Sulthangoto
是不好的编程实践,会使代码变得难以阅读。 - Vyachaslav Gerchicov