[产品应用] 用switch()函数替代if…else…

[复制链接]
2213|10
 楼主| AdaMaYun 发表于 2024-3-7 19:40 | 显示全部楼层 |阅读模式

对于涉及if…else…else…这样的多条件判断,例如:

  1. if( val == 1)
  2.     dostuff1();
  3. else if (val == 2)
  4.     dostuff2();
  5. else if (val == 3)
  6.     dostuff3();


使用switch可能更快:

  1. switch( val )
  2. {
  3.     case 1: dostuff1(); break;

  4.     case 2: dostuff2(); break;

  5.     case 3: dostuff3(); break;
  6. }


在if()语句中,如果最后一条语句命中,之前的条件都需要被测试执行一次。
Switch允许我们不做额外的测试。如果必须使用if…else…语句,将最可能执行的放在最前面。

评论

各有各的好处  发表于 2024-3-13 09:54
LOVEEVER 发表于 2024-3-9 19:30 | 显示全部楼层
在if()语句中,如果最后一条语句命中,之前的条件都需要被测试执行一次。
星辰大海不退缩 发表于 2024-3-11 13:19 | 显示全部楼层
注意事项很细节,如果必须使用if…else…语句,将最可能执行的放在最前面。
OKAKAKO 发表于 2024-3-11 17:45 | 显示全部楼层
涉及if…else的语句尽量进行语法优化
小小蚂蚁举千斤 发表于 2024-3-18 15:12 | 显示全部楼层
在if()语句中,如果最后一条语句命中,之前的条件都需要被测试执行一次。
小夏天的大西瓜 发表于 2024-3-19 09:45 | 显示全部楼层
如果必须使用if…else…语句,将最可能执行的放在最前面。
中国龙芯CDX 发表于 2024-3-21 15:15 | 显示全部楼层
switch相较于其他语句可能更快
szt1993 发表于 2024-3-25 15:42 | 显示全部楼层
用选择SWITCH语句比较多,相对比较方便
chenjun89 发表于 2024-4-3 08:03 来自手机 | 显示全部楼层
switch的语义理解也有更清晰一些。
jf101 发表于 2024-4-14 16:17 | 显示全部楼层
还是switch语句比较实用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

308

主题

2692

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部