【问题标题】:What is the point of switch statements if you can just use if-else statements?如果只能使用 if-else 语句,那么 switch 语句的意义何在?
【发布时间】:2015-09-06 19:13:46
【问题描述】:

如果存在 switch 语句,if-else 语句的意义何在?真的有一个实际的理由同时拥有它们吗?好像有点多余我想要得到的是,对于某个场景,一个或另一个是必不可少的,而另一个根本不起作用?如果是的话是什么。

【问题讨论】:

标签: if-statement switch-statement


【解决方案1】:

Switch 语句可以被认为是一个专门的if 语句。任何可以使用switch 的地方if 也可以使用;但是,switch 通常更具可读性。

另外,在我看来,更重要的是,在大多数编译语言中,切换会比 if/else 更快,因为编译器会生成一个跳转表。因此,每种可能性都将具有相同的访问时间,而在 if-else 语句中,列表中的最后一项将比第一项需要更长的时间才能到达。列表越长,性能优势就越重要。也就是说,一般而言,差异会特别明显或重要的情况很少。

【讨论】:

  • 所以基本上它对专门的工作负载有用吗?还有任何条件只能且只有 switch 可以工作吗?我知道有时只有 if-else 可以工作,而 switch 不能,即布尔值,但它可以反过来工作吗? if-else 适合 switch,switch 适合 if-else 还是两者都适合?
  • 是的,你可以这样想。大多数情况下,可以使用该开关,它比 if-else 更具可读性,并且不会产生更大的影响。没有任何地方可以让 if-else 无法使用 switch。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 1970-01-01
  • 1970-01-01
  • 2020-11-06
相关资源
最近更新 更多