标签:
1 我们可以组合多个逻辑运算来表达一个复合逻辑: 2 if enteredDoorCode && passedRetinaScan || hasDoorKey || knowsOverridePassword { 3 println("Welcome!") 4 } else { 5 println("ACCESS DENIED") 6 } 7 // 输出 "Welcome!" 8 这个例子使用了含多个&&和||的复合逻辑。但无论怎样,&&和||始终只能操作两个值。所以这实际是三个简单逻辑连续操作的结果。我们来解读一下: 9 10 如果我们输入了正确的密码并通过了视网膜扫描; 或者我们有一把有效的钥匙; 又或者我们知道紧急情况下重置的密码,我们就能把门打开进入。 11 12 前两种情况,我们都不满足,所以前两个简单逻辑的结果是false,但是我们是知道紧急情况下重置的密码的,所以整个复杂表达式的值还是true。 13 使用括号来明确优先级 14 15 为了一个复杂表达式更容易读懂,在合适的地方使用括号来明确优先级是很有效的,虽然它并非必要的。在上个关于门的权限的例子中,我们给第一个部分加个括号,使用它看起来逻辑更明确: 16 if (enteredDoorCode && passedRetinaScan) || hasDoorKey || knowsOverridePassword { 17 println("Welcome!") 18 } else { 19 println("ACCESS DENIED") 20 } 21 // 输出 "Welcome!" 22 这括号使得前两个值被看成整个逻辑表达中独立的一个部分。虽然有括号和没括号的输出结果是一样的,但对于读代码的人来说有括号的代码更清晰。可读性比简洁性更重要,请在可以让你代码变清晰地地方加个括号吧!
标签:
原文地址:http://www.cnblogs.com/719907411hl/p/4507744.html