PowerShell 中函数的返回值
使用 return 关键字
PowerShell 允许我们使用 return 关键字从函数返回单个或多个值。让我们了解这两种情况。
使用 return 关键字返回单个值
要从特定函数返回单个值:
- 创建一个返回某些内容的函数,可以是字符串、数字或其他任何内容。
- 在上一步中定义的函数内,使用
return关键字从函数返回一个值。 - 调用步骤1中定义的函数并保存返回值。
- 使用
Write-Host打印返回值。
使用 return 关键字:
function returnOneValue{
$string = "Hello"
return $string
}
$returnedValue = returnOneValue
Write-Host $returnedValue输出 :
Hello
在上面的脚本中,我们创建了一个名为returnOneValue的函数;你可以随意命名它。在此函数内,我们创建并初始化了一个名为 $string 的变量,其中包含字符串类型值 Hello。接下来,我们使用 return 关键字返回 $string 变量的值。
在该函数块之外,我们调用它并将返回值保存在 $returnedValue 变量中。最后,我们使用 Write-Host cmdlet 在 PowerShell 控制台上打印 $returnedValue 的值。
return 关键字退出脚本、函数或脚本块。我们还可以使用它在特定点退出作用域、返回指定值或表示已到达作用域的末尾。
在 PowerShell 中,即使不使用
return关键字,也会返回每个语句的输出。从 PowerShell 5.0 及更高版本开始,我们可以使用形式语法创建类。在类中,除非使用 return 关键字,否则不会返回任何内容。您可以在这里了解课程。让我们通过示例来理解:
使用 return 关键字:
function returnOneValue{ $string = "Hello" write-output "From Function" return $string } $returnedValue = returnOneValue Write-Host $returnedValue输出 :
From Function Hello如果您在这里使用
class,您将获得从函数实际返回的返回值。使用 return 关键字:
class test_class { [string]returnOneValue() { $string = "Hello" write-output "From Function" return $string } } $tc = New-Object -TypeName test_class $tc.returnOneValue()输出 :
Hello
使用 return 关键字返回多个值
要从指定函数返回多个值:
- 创建一个返回多个值、字符串、数字或其他任何内容的函数。
- 在上一步中定义的函数内,使用
return关键字从函数返回值。 - 调用步骤1中定义的函数并保存返回值。
- 使用
Write-Host打印返回值。
使用 return 关键字:
function returnMultipleValues{
$firstName = "John"
$lastName = "Williamson"
$age = 50
return $firstName, $lastName, $age
}
$firstName, $lastName, $age = returnMultipleValues
Write-Host $firstName, $lastName, $age输出 :
John Williamson 50此脚本与前面的示例类似,但我们返回了用逗号分隔的多个值。同样,我们使用多个变量($firstName、$lastName、$age)来存储 returnMultipleValues 返回的值代码>函数。请注意,我们在函数内部和外部使用了 $firstName、$lastName 和 $age 变量,并且两者是不同的。此外,顺序必须与 return 语句相同;否则,我们将得到不正确的值。请看下面的例子来理解。
使用 return 关键字:
function returnMultipleValues{
$firstName = "John"
$lastName = "Williamson"
$age = 50
return $firstName, $lastName, $age
}
$firstName, $age, $lastName = returnMultipleValues
Write-Host $firstName, $lastName, $age输出 :
John 50 Williamson请参阅,$lastName 包含年龄,$age 包含姓氏。因此,在捕获返回值时要小心。
这就是如何从 PowerShell 中的 Function 返回值的全部内容。
