通過前面兩篇介紹,應該能夠寫出一個最簡單的Function了.但隨着使用的深刻,很快就會感受到力不從心.ide
由於基礎的Function是在是感受太Low了,跟官方的或是人家寫出來的比起來...功能弱雞.逼格不高.blog
那麼爲了強化咱們的Function,讓逼格高起來.從這一篇開始講解進階一些的功能.get
目標:it
1.輸入姓名和年齡後,直接在顯示 某某 今年 多少 歲 .io
2.強制使用Name參數.class
示例:基礎
Function Test-Function { Param ( [parameter(Mandatory=$true)]$Name, $Age = "18" ) Write-Host "$Name 今年 $Age 歲." }
說明:進階
與上篇文章中相比,咱們在Name參數的前面加上了一些關鍵字"[parameter(Mandatory=$true)]",包括後面還會介紹一些針對參數的設定,都是寫在"parameter( )"裏面im
在這一篇裏,咱們設定了Mandatory=$true來表示,在使用這個Function的時候必需要使用Name參數.由於從咱們的目標來看,若是不使用Name的參數的話那就會顯示成"(空白) 今年 多少歲"這顯然是不合適的.top
運行結果:
能夠看到,我在不指定任何參數的狀況下運行了Test-Function,但PowerShell提示我要爲Name參數提供一個值.直到我提供了Name的值之後,這個Function才得以正常的運行下去.
這樣,就達到咱們 要求指定一我的名的狀況下才能執行 的目的.固然若是你一開始就老老實實的爲Name賦值了是能夠順暢運行下去的.