本文介紹PowerShell自定義函數定義參數的兩種方法,一種是將參數列表放到函數名之后,就跟其它語言定義函數參數一樣;另一種則是PowerShell獨有的方式,那就是使用param關鍵詞。
先來看看第一種定義參數的方式——將參數列表放到函數名之后
舉個例子先看看:
代碼如下:
function Test-Function($參數名1='默認參數值1', $參數名2='默認參數值2')
{
Write-Host "參數1=$參數名1,參數2=$參數名2";
}
這種方式比較簡單直接,而且有點像C#和PHP,可以直接賦默認值。
微軟告訴我們,這種將參數定義的列表直接放到函數名后,不是最佳的做法。PowerShell在內部處理的時候,還是會進一步的將上面定義的參數格式轉換成如下的官方語法:
代碼如下:
function Test-Function
{
param($參數名1='默認參數值1', $參數名2='默認參數值2')
Write-Host "參數1=$參數名1,參數2=$參數名2";
}
大家看出區別來了吧,直接將函數名之后的參數列表,連同括號一起拿掉。然后在函數體(大括號之內)來一段param關鍵詞開始的參數定義代碼,把參數列表就放到這兒了。其它的不變。
不管上面哪種定義參數列表的方式,運行的結果都是一樣的。
順便說一句,因為上面定義了參數的默認值,所以在調用的時候可以為參數賦值,可以不賦值。但賦值時一定要指明參數的名稱。如:
代碼如下:PS> Test-Function
參數1=默認參數值1,參數2=默認參數值2
PS> Test-Function -參數1 "p1"
參數1=p1,參數2=默認參數值2
關于PowerShell函數參數定義,本文就介紹這么多,希望對您有所幫助,謝謝!
新聞熱點
疑難解答