我不确定这是否是一个好问题,但这只是困扰我从理论的角度来看。任何人都可以解释为什么像php这样的语言有一个明确的elseif / elif,而其他像c ++或java这样的语言只使用if和else。似乎要记住的关键字越少,关键字就越多。有一个elseif语句有什么好处吗?
P.S。我正在写一本关于编程语言的书,我正在收集有关语言设计理论的意见
编辑:谢谢你指出这一点。我现在意识到,在Python中,由于空格/缩进规则,它很重要。我已将我的示例从Python更改为PHP。答案 0 :(得分:2)
在我看来,elseif
避免了@kalhartt对python(强制性)以及c ++等其他语言(可选但习惯)的评论过多的缩进。
但更重要的是,我认为elseif
是一个有用的功能,暗示了工作流程,
1)else
分支中没有其他内容,即我们没有复杂的结构,如
if (A) {
}
else {
if (B) {...} else { ... }
i++;...
}
2)它有助于创建一个类似于switch
语句的线性结构,其中
switch (a) {
case 1:
...
case 2:
...
case 3
...
default:
}
映射到:
if (a == 1) {
}
elseif (a == 2) {
}
elseif (a == 3) {
}
else{
}
if ... elseif ...
形式有点冗长,但更强大,即对每个"案例"的条件要求不那么严格。例如,您可以使用
elseif (a > 3 && a < 7)
答案 1 :(得分:0)
在我看来,好处是简化代码。假设有一个选项列表,您正在使用if语句为每个不同的选择执行操作。使用elseif语句来缩小选择范围会更容易。此外,它具有更高的可读性。