空的情况下,在斯威夫特
问题描述:
是什么A线和B线之间的区别:空的情况下,在斯威夫特
let a = 1
switch a {
case 1:
break;//line A
case 2:
print("2")
default:
()//line B
}
我的猜测是,break
是说离开switch
,而()
是说什么也不做。
我不知道该怎么寻找这一点,我是新来的斯威夫特,所以链接赞赏
答
在你的榜样,没有任何区别。他们都是占位符。规则是一个案件不能完全是空的。两者都是满足这一要求的方式。
他们是否编译到完全相同的东西? – nhgrif
@nhgrif猜测 - 在我的例子中他们可能,但经过一些测试后,似乎你可以在'()'后面有语句,但不是在'break'后面(所以有些情况下它们肯定不会编译成相同的东西) –
为了澄清,我并不是说在语法或语义上'()'和'break'意味着类似的东西。但它们在OP给出的例子中以相同的方式起作用。它们只是解决案件不能为空的一种方式。 – matt