佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > PowerShell函數(shù)參數(shù)指定數(shù)據(jù)類型實(shí)例

PowerShell函數(shù)參數(shù)指定數(shù)據(jù)類型實(shí)例

熱門標(biāo)簽:鐵路電話系統(tǒng) Linux服務(wù)器 呼叫中心市場需求 網(wǎng)站排名優(yōu)化 地方門戶網(wǎng)站 百度競價(jià)排名 服務(wù)外包 AI電銷

本文介紹在PowerShell創(chuàng)建自定義函數(shù)時(shí),為必選參數(shù)設(shè)置強(qiáng)類型有什么好處,應(yīng)該如何設(shè)置。

為了提高必選參數(shù)的安全性,PowerShell函數(shù)定義的最佳實(shí)踐告訴我們,要為必選參數(shù)設(shè)置強(qiáng)類型。這是為什么呢,我們來看一個(gè)例子。

復(fù)制代碼 代碼如下:

function Test-Me {
    param
    (
        [Parameter(Mandatory=$true, HelpMessage='Enter number of EUROs!')]
        $Euro
    )
    $Dollar = $Euro * 1.4
    $Dollar
}

上面這個(gè)例子是接收用戶輸入一個(gè)歐元值,然后,輸出美元值。相當(dāng)于是在兩個(gè)貨幣之間做了一下?lián)Q算。實(shí)際執(zhí)行的效果讓人很吃驚,且看:
復(fù)制代碼 代碼如下:

PS> Test-Me -Euro 100
140
PS> Test-Me
cmdlet Test-Me at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
Euro: 100
100

這里測試了兩次,第一個(gè)測試沒有問題:100*1.4=140。但第二個(gè)測試就蛋疼了,怎么100*1.4還等于100呢?其實(shí)是這樣的,輸入的100被當(dāng)作了一個(gè)字符串,而不是一個(gè)數(shù)字。所以一個(gè)字符串乘以1.4,就相當(dāng)于把這個(gè)字符串重復(fù)1.4次,四舍五入,那就是重復(fù)1次,那還是原樣,所以你知道這個(gè)100怎么來的了吧?

好了,這就是我們說的安全性。不為必選參數(shù)設(shè)置強(qiáng)類型不安全!我們來將其設(shè)置為Double類型。

復(fù)制代碼 代碼如下:

function Test-Me {
    param
    (
        [Parameter(Mandatory=$true, HelpMessage='Enter number of EUROs!')]
        [Double]
        $Euro
    )
    $Dollar = $Euro * 1.4
    $Dollar
}

大家可以試試這段代碼還會(huì)不會(huì)出現(xiàn)之前的問題了。因?yàn)檫@里加了一個(gè)[double]的指令,起到了一個(gè)強(qiáng)制數(shù)據(jù)類型的作用。

關(guān)于為PowerShell函數(shù)必選參數(shù)設(shè)置強(qiáng)類型,本文就介紹這么多,希望對您有所幫助,謝謝!

您可能感興趣的文章:
  • PowerShell函數(shù)參數(shù)設(shè)置成自動(dòng)識別數(shù)據(jù)類型的例子

標(biāo)簽:湖南 湘潭 蘭州 銅川 黃山 仙桃 崇左 衡水

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PowerShell函數(shù)參數(shù)指定數(shù)據(jù)類型實(shí)例》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    遵义县| 马关县| 积石山| 临泽县| 溧水县| 神池县| 保定市| 承德县| 西峡县| 高雄市| 内江市| 山阳县| 分宜县| 新和县| 都江堰市| 金湖县| 金川县| 兴仁县| 哈巴河县| 固安县| 永德县| 方城县| 高雄县| 大姚县| 漾濞| 浮山县| 土默特右旗| 奈曼旗| 南皮县| 东宁县| 海淀区| 儋州市| 西平县| 宁城县| 于都县| 鹤庆县| 鄂尔多斯市| 滨州市| 新干县| 湟中县| 宜兴市|