作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
为什么您想要使用 switch
阻止一系列if
声明?
switch
语句似乎做同样的事情,但需要更长的时间来输入。
最佳答案
与大多数事情一样,您应该根据上下文以及概念上正确的方法来选择使用哪个。 switch 实际上是在说“根据这个变量值选择其中一个”,但 if 语句只是一系列 bool 检查。
举个例子,如果你正在做:
int value = // some value
if (value == 1) {
doThis();
} else if (value == 2) {
doThat();
} else {
doTheOther();
}
这会更好地表示为一个开关,因为它可以立即明显地表明操作的选择是基于“值”的值而不是某些任意测试而发生的。
此外,如果您发现自己正在编写 switch 和 if-else 并使用面向对象语言,您应该考虑摆脱它们,并在可能的情况下使用多态性来实现相同的结果。
最后,关于 switch 需要更长的打字时间,我不记得是谁说的,但我曾经读过有人问“你的打字速度真的会影响你编码的速度吗?” (转述)
关于switch-statement - 何时在 switch 语句上使用 If-else if-else ,反之亦然,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/427760/
我是一名优秀的程序员,十分优秀!