擅长:python、mysql、java
<p>事实上,使用措辞来调度呼叫是一件有时可以做的事情,只要有意义,当你知道你在做什么的时候。在</p>
<p>在其他语言中用来代替“<code>switch...case</code>”的Python语法构造是“<code>if..elif..else</code>”。在</p>
<p>我不知道为什么人们根本不喜欢它。就像一个人会“失去表现”或其他什么。但是..switch case,when one think,是if--else链的一个非常狭窄的特例:它只允许比较相等,并且只比较整数(至少在C语言中,我不知道所有克隆C语法的语言),而在if elif链中,可以使用任何表达式。在</p>
<p>很容易看出Switch case语句是在C中引入的,因为它允许编译器为这种特殊情况自动进行优化(使用跳转表,而不是一系列比较)。但是…这只对编译语言有意义,而且,只有当编译器不能单独处理这些优化时才有意义,即使这样,只有在10次或20次比较的速度差大于使用跳转表时才有意义。在</p>
<p>如您所见,在现代高级语言中使用“switch case”是相当多余的,这是因为可以将if elif else语句连接起来。在</p>