基本引數

可以使用 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