国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PowerShell > 正文

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

2020-03-26 19:23:18
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

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

為了提高必選參數(shù)的安全性,PowerShell函數(shù)定義的最佳實(shí)踐告訴我們,要為必選參數(shù)設(shè)置強(qiáng)類型。這是為什么呢,我們來(lái)看一個(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

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

 

好了,這就是我們說(shuō)的安全性。不為必選參數(shù)設(shè)置強(qiáng)類型不安全!我們來(lái)將其設(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)之前的問(wèn)題了。因?yàn)檫@里加了一個(gè)[double]的指令,起到了一個(gè)強(qiáng)制數(shù)據(jù)類型的作用。

 

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 陆良县| 长宁区| 宝鸡市| 绥棱县| 太保市| 炎陵县| 会宁县| 偃师市| 莒南县| 莱西市| 墨脱县| 凤阳县| 双鸭山市| 汉源县| 慈利县| 郎溪县| 海伦市| 潮州市| 文化| 闽侯县| 梓潼县| 板桥市| 永州市| 韶山市| 天等县| 广河县| 突泉县| 旌德县| 凯里市| 临夏市| 贡觉县| 清远市| 奉贤区| 乡宁县| 马边| 金平| 梁山县| 淳安县| 开封市| 睢宁县| 临城县|