理解 break, continue, return 和 exit 1


你们知道 “break”, “continue”, “return” 和 “exit”的作用吗? 它们是功能强大的语言结构体。下面通过一个测试函数来说明它们之间的不同。

'Starting'

function Test-Function {
    $fishtank = 1..10

    Foreach ($fish in $fishtank)
    {
        if ($fish -eq 7)
        {
            break      # <- abort loop
            #continue  # <- skip just this iteration, but continue loop
            #return    # <- abort code, and continue in caller scope
            #exit      # <- abort code at caller scope 
        }

        "fishing fish #$fish"

    }
    'Done.'
}

Test-Function


'Script done!'

你可以去掉其中某个关键字的注释,然后运行脚本来查看结果。
使用 break, 运行结果如下:

Capture11

使用 continue, 运行结果如下:

Capture12

使用 return, 运行结果如下:

Capture13

使用 exit,运行结果如下:

Capture14

原文地址: Understanding break,continue,return,and exit

×用微信扫描并分享
本文链接: https://www.pstips.net/understand-break-continue-return-exit.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

一条评论 “理解 break, continue, return 和 exit

  • he852100

    function Test-Function {
    $fishtank = 1..10
    $command=@(‘break’,’continue’,’return’,’exit’)
    $command.length
    for($i=0;$I -lt $command.length;$i++){

    “$($command[$i])”|out-host
    ‘—–‘|out-host
    Foreach ($fish in $fishtank)
    {
    if ($fish -eq 7)
    {
    #break # <- 中止循环
    #continue # <- 仅跳过此迭代,但继续循环
    #return # <- 中止代码,并继续在调用方范围内
    #exit # <- 在调用者范围中中止代码
    if ($command[$i] -eq 'continue'){write-host -foregroundcolor red "fishing fish #$fish";Invoke-expression "$($command[$i])"}else{Invoke-expression "$($command[$i])"}
    }

    "fishing fish #$fish"
    }
    '—–'|out-host
    write-host -foregroundcolor CYAN "$($command[$i]) Done."
    }
    }

    Test-Function