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

首頁 > 開發 > PowerShell > 正文

PowerShell函數參數指定數據類型實例

2020-05-30 20:12:28
字體:
來源:轉載
供稿:網友

本文介紹在PowerShell創建自定義函數時,為必選參數設置強類型有什么好處,應該如何設置。

為了提高必選參數的安全性,PowerShell函數定義的最佳實踐告訴我們,要為必選參數設置強類型。這是為什么呢,我們來看一個例子。
代碼如下:
function Test-Me {
    param
    (
        [Parameter(Mandatory=$true, HelpMessage='Enter number of EUROs!')]
        $Euro
    )
    $Dollar = $Euro * 1.4
    $Dollar
}

上面這個例子是接收用戶輸入一個歐元值,然后,輸出美元值。相當于是在兩個貨幣之間做了一下換算。實際執行的效果讓人很吃驚,且看:
代碼如下:
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

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

好了,這就是我們說的安全性。不為必選參數設置強類型不安全!我們來將其設置為Double類型。
代碼如下:
function Test-Me {
    param
    (
        [Parameter(Mandatory=$true, HelpMessage='Enter number of EUROs!')]
        [Double]
        $Euro
    )
    $Dollar = $Euro * 1.4
    $Dollar
}

大家可以試試這段代碼還會不會出現之前的問題了。因為這里加了一個[double]的指令,起到了一個強制數據類型的作用。

關于為PowerShell函數必選參數設置強類型,本文就介紹這么多,希望對您有所幫助,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西青区| 腾冲县| 东山县| 巍山| 保定市| 兴仁县| 仲巴县| 龙游县| 沾化县| 栖霞市| 白玉县| 岱山县| 眉山市| 阿坝| 桑日县| 闽侯县| 永登县| 十堰市| 鲜城| 平安县| 平定县| 苗栗市| 康乐县| 阿拉善左旗| 彰武县| 新田县| 通海县| 上林县| 镇康县| 崇礼县| 中宁县| 滨海县| 北流市| 漳州市| 黔西| 霍林郭勒市| 新宁县| 遂宁市| 望都县| 齐齐哈尔市| 吉水县|