某些语言中elseif或elif语句背后的基本原理

时间:2014-10-02 05:15:15

标签: php c++ if-statement syntax

我不确定这是否是一个好问题,但这只是困扰我从理论的角度来看。任何人都可以解释为什么像php这样的语言有一个明确的elseif / elif,而其他像c ++或java这样的语言只使用if和else。似乎要记住的关键字越少,关键字就越多。有一个elseif语句有什么好处吗?

P.S。我正在写一本关于编程语言的书,我正在收集有关语言设计理论的意见

编辑:谢谢你指出这一点。我现在意识到,在Python中,由于空格/缩进规则,它很重要。我已将我的示例从Python更改为PHP。

2 个答案:

答案 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语句来缩小选择范围会更容易。此外,它具有更高的可读性。