-
相比 GOTO 语句,基于块的控制流有一个显著的特征:控制流从程序入口进入,中途可能会经历条件、循环、函数调用等控制流转换,但是最终控制流都会从程序出口退出。这种编程范式使得代码结构变得更加结构化,思维模型变得更加简单,也为编译器在低层级提供了优化的可能。
-
因此,完全禁用 GOTO 语句已经成为了大部分现代编程语言的选择。虽然,少部分编程语言仍然支持 GOTO,但是它们大都支持高德纳(Donald Ervin Knuth)所提出的前进分支和后退分支不得交叉的理论。类似 break、continue 等控制流命令,依然遵循结构化的基本原则:控制流拥有单一的入口与出口。