[其它产品/技术] switch语句的工作原理

[复制链接]
4370|64
digit0 发表于 2024-6-21 21:17 | 显示全部楼层
一旦找到匹配的用例,就执行该用例之后的代码块,直到遇到 break 语句。
地瓜patch 发表于 2024-6-27 22:52 来自手机 | 显示全部楼层
IFX-Wanmin 发表于 2024-5-27 16:28
从可扩展性看,Switch Case比If语句好

我喜欢if,条理清晰
地瓜patch 发表于 2024-6-27 22:52 来自手机 | 显示全部楼层
digit0 发表于 2024-6-21 21:17
一旦找到匹配的用例,就执行该用例之后的代码块,直到遇到 break 语句。

break跳出当前switch
地瓜patch 发表于 2024-6-27 22:53 来自手机 | 显示全部楼层
primojones 发表于 2024-6-8 22:24
一旦找到匹配的case,将执行该case后的代码块,直到遇到break语句。

没有break的话会怎样?
地瓜patch 发表于 2024-6-27 22:56 来自手机 | 显示全部楼层
chenci2013 发表于 2024-6-9 17:26
在底层,switch语句的实现通常依赖于跳转表(jump table)这种数据结构。跳转表是一个数组,其中包含了指向 ...

这个如何实现,最好上个例程啊
地瓜patch 发表于 2024-6-27 22:56 来自手机 | 显示全部楼层
yangxiaor520 发表于 2024-6-10 09:15
switch不是一条一条往下判断

没有合适的case就往下,有了就break
jf101 发表于 2024-6-28 11:01 | 显示全部楼层
将表达式的值与每个case标签进行比较,如果匹配成功,则执行与该case标签关联的代码块
Pretext 发表于 2024-7-8 17:33 | 显示全部楼层
一般是先计算开关括号中表达式的值,然后再做判断
软核硬核 发表于 2024-7-10 11:19 | 显示全部楼层
在语句开始时,计算紧跟在括号后面的表达式的值。
LinkMe 发表于 2024-7-16 10:26 | 显示全部楼层
事实上,切换似乎是一种轮询操作
AIsignel 发表于 2024-8-4 06:44 | 显示全部楼层
事实上,我认为switch是一个框架,非常容易使用
IntelCore 发表于 2024-8-24 16:47 | 显示全部楼层
开关,该语句从计算紧接其后的括号中的表达式的值开始。
理想阳 发表于 2024-9-3 18:38 | 显示全部楼层
在每种情况下,将计算值与常量值进行比较。如果找到匹配,则执行与该案例相关联的代码块。
nowboy 发表于 2024-9-6 21:16 | 显示全部楼层
开关不会一个一个地判断下来
dreamCar 发表于 2024-9-7 23:45 | 显示全部楼层
一般先计算开关括号中表达式的值,再进行判断。
未来AI 发表于 2024-9-12 09:35 | 显示全部楼层
在语句的开头,计算紧接在括号后面的表达式的值。,
lllook 发表于 2024-9-12 22:42 | 显示全部楼层
一般用开关操作,比较好用
suncat0504 发表于 2024-9-13 21:53 | 显示全部楼层
switch其实就是更为复杂形式的if else if 的判断而已。只不过代码上比较好看。
AutoMotor 发表于 2024-9-16 13:57 | 显示全部楼层
如果多做判断,多使用switch,case,语句会更简洁。
shenxiaolin 发表于 2024-9-29 14:21 | 显示全部楼层
我都怀疑是ifelse
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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