基本参数
可以使用 param 块使用参数定义函数:
function Write-Greeting {
param(
[Parameter(Mandatory,Position=0)]
[String]$name,
[Parameter(Mandatory,Position=1)]
[Int]$age
)
"Hello $name, you are $age years old."
}
或者使用简单的函数语法:
function Write-Greeting ($name, $age) {
"Hello $name, you are $age years old."
}
注意: 任何类型的参数定义都不需要强制转换参数。
与 param 块相比,简单函数语法(SFS)具有非常有限的功能。
虽然你可以定义要在函数中公开的参数,但你不能指定参数属性 ,使用参数验证 ,包括 [
CmdletBinding()]
和 SFS(这是一个非详尽的列表)。
可以使用有序或命名参数调用函数。
调用的参数顺序与函数头中的声明顺序(默认情况下)匹配,或者可以使用 Position
参数属性指定(如上面的高级函数示例所示)。
$greeting = Write-Greeting "Jim" 82
或者,可以使用命名参数调用此函数
$greeting = Write-Greeting -name "Bob" -age 82