PHP中goto的有效用例是什么?

Nik*_*kiC 14 php goto

我知道,还有其他 关于PHP 5.3中引入的语句的问题goto.

但我找不到任何体面的答案,都是"最后的手段","xkcd","邪恶","坏","邪恶!!!".但没有有效的例子.只有没有任何用途的陈述.或者说有一些罕见的用例(再次,没有例子).

所以,问题是:" gotoPHP 中的有效用例是什么?"."是goto邪恶的?"的答案 不受欢迎,将被投票.谢谢 :)

或者有人链接到RFC,其中解释了决定 - 我找不到一个.

Mch*_*chl 6

一种可能的用途(然而可以使用其他手段来实现)是有限状态机的实现.


Gor*_*don 5

请参阅PHP 5.3中的PHP Architect - GOTO:它真的是邪恶吗?

本文简要概述了为什么GOTO有用,为什么我们在PHP中使用它(自2004年以来)以及为什么它是/有争议的.一般的答案似乎是:GOTO大多无用,除非在非常狭窄的应用程序空间(如构建编译器),否则应该避免使用:

有一点是肯定的:有一些应用程序可以让优秀的开发人员充分利用GOTO来生成更简单,更高效的代码,但它们可能不是普通开发人员编写的主流程序; 因此,这里有一个合理的担忧,即没有经验的程序员会使用GOTO来破坏他们的代码.

另请参阅文章中提到的一些原始新闻列表讨论/争议:

另请参阅这篇关于GOTO在C2 Wiki上被认为有害的全面语言无关讨论