空的情况下,在斯威夫特

问题描述:

是什么A线和B线之间的区别:空的情况下,在斯威夫特

let a = 1 
switch a { 
case 1: 
    break;//line A 
case 2: 
    print("2") 
default: 
    ()//line B 
} 

我的猜测是,break是说离开switch,而()是说什么也不做。

我不知道该怎么寻找这一点,我是新来的斯威夫特,所以链接赞赏

在你的榜样,没有任何区别。他们都是占位符。规则是一个案件不能完全是空的。两者都是满足这一要求的方式。

+0

他们是否编译到完全相同的东西? – nhgrif

+0

@nhgrif猜测 - 在我的例子中他们可能,但经过一些测试后,似乎你可以在'()'后面有语句,但不是在'break'后面(所以有些情况下它们肯定不会编译成相同的东西) –

+0

为了澄清,我并不是说在语法或语义上'()'和'break'意味着类似的东西。但它们在OP给出的例子中以相同的方式起作用。它们只是解决案件不能为空的一种方式。 – matt