相关疑难解决方法(0)

Python中有标签/ goto吗?

gotoPython中是否有一个或任何等价物能够跳转到特定的代码行?

python goto

154
推荐指数
10
解决办法
35万
查看次数

C或C++中良好的getos的例子

在这个主题中,我们看一下gotoC或C++ 的良好用法示例.它的灵感来自人们投票的答案,因为他们认为我在开玩笑.

摘要(标签从原始标签更改为使意图更清晰):

infinite_loop:

    // code goes here

goto infinite_loop;
Run Code Online (Sandbox Code Playgroud)

为什么它比替代品更好:

  • 这是具体的. goto是导致无条件分支的语言构造.替代方案取决于使用支持条件分支的结构,具有退化的始终为真的条件.
  • 标签记录了意图,没有额外的评论.
  • 读者不必扫描早期介入代码breakS(尽管它仍然可能无原则黑客模拟 continue与早期goto).

规则:

  • 假装gotophobes没有赢.据了解,上述内容不能用于实际代码中,因为它违背了既定惯用语.
  • 假设我们都听说'Goto被认为有害',并且知道goto可以用来写意大利面条代码.
  • 如果你不同意一个例子,那就单独批评技术优点('因为人们不喜欢goto'不是技术原因).

让我们看看我们是否可以像成年人一样谈论这个问题.

编辑

这个问题现在好了.它产生了一些高质量的答案.感谢大家,尤其是那些认真对待我的小循环示例的人.大多数怀疑论者都担心缺乏范围.正如@quinmars在评论中指出的那样,你总是可以在循环体上放置大括号.我顺便注意到for(;;)并且while(true)也没有给你免费的大括号(并且省略它们会导致烦恼的错误).无论如何,我不会浪费任何更多的脑力这个小事-我可以用无害的习惯生活for(;;)while(true)(一样好,如果我想继续我的工作).

考虑到其他反应,我发现许多人认为goto你总是需要以另一种方式重写.当然,你可以goto通过引入一个循环,一个额外的标志,一堆嵌套的ifs或其他什么来避免,但为什么不考虑是否goto可能是这项工作的最佳工具?换句话说,人们准备忍受多少丑陋以避免使用内置语言功能达到预期目的?我的看法是,即使添加一面旗帜,也要付出太高的代价.我喜欢我的变量来表示问题或解决方案域中的事物.'唯一要避免goto'不削减它.

我会接受第一个给出C模式分支到清理块的答案.国际海事组织,这是goto所有已发布答案的最强情况,当然,如果你通过一个仇恨必须通过避免它的扭曲来衡量它.

c c++ goto

79
推荐指数
11
解决办法
15万
查看次数

标签 统计

goto ×2

c ×1

c++ ×1

python ×1