你们知道 “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, 运行结果如下:
使用 continue, 运行结果如下:
使用 return, 运行结果如下:
使用 exit,运行结果如下:
原文地址: Understanding break,continue,return,and exit
本文链接: https://www.pstips.net/understand-break-continue-return-exit.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
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