• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jadeborner
V2EX  ›  程序员

不支持 goto 的语言,不是好语言

  •  
  •   jadeborner · Jan 28, 2021 · 3055 views
    This topic created in 2105 days ago, the information mentioned may be changed or developed.
    没有哪一种方法比 goto 从多层循环中跳出更优雅了
    12 replies  •  2021-01-29 22:01:22 +08:00
    hupo0
    hupo0
    Jan 28, 2021
    1
    return
    scukmh
    scukmh
    Jan 28, 2021
    2
    资瓷
    gdtdpt
    gdtdpt
    Jan 28, 2021
    3
    更优雅的可能是不写多层循环……
    bruce0
    bruce0
    Jan 28, 2021
    4
    @gdtdpt 虽然是这个道理 但是有些时候必须要多层循环

    ------------------------------------------------------------------------------------

    一般的语言都告诉开发者 尽量避免使用 goto 但是 go 语言很多地方推荐使用 goto 而且 break 也可以和 goto 一样 跳到指定位置
    wander639
    wander639
    Jan 28, 2021 via iPhone
    5
    go 里面 for-select 基本上都是用 goto 跳出的
    asAnotherJack
    asAnotherJack
    Jan 28, 2021
    6
    @wander639 #5 可以试下 label
    mxalbert1996
    mxalbert1996
    Jan 28, 2021 via Android
    7
    减少潜在的屎山也不是坏事
    Kasumi20
    Kasumi20
    Jan 29, 2021
    8
    @gdtdpt 请问如何将冒泡排序、选择排序等二层循环降维
    aguesuka
    aguesuka
    Jan 29, 2021 via Android
    9
    @Kasumi20 递归,把优化交给编译器
    zm8m93Q1e5otOC69
    zm8m93Q1e5otOC69
    Jan 29, 2021
    10
    多层循环不应该优化吗?反而 goto ?
    Kasumi20
    Kasumi20
    Jan 29, 2021
    11
    @aguesuka 递归还行,我直呼内行
    aguesuka
    aguesuka
    Jan 29, 2021 via Android
    12
    @Kasumi20 按照主楼的思路,当然是 haskell,agda 这种最优雅,它们都是没 for while 循环的
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5203 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 06:34 · PVG 14:34 · LAX 22:34 · JFK 01:34
    ♥ Do have faith in what you're doing.