PowerShell函数参数指定数据类型实例

所属分类: 脚本专栏 / PowerShell 阅读数: 1554
收藏 0 赞 0 分享

本文介绍在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函数必选参数设置强类型,本文就介绍这么多,希望对您有所帮助,谢谢!

更多精彩内容其他人还在看

PowerShell入门教程之高效使用PowerShell交互式运行环境的几个小技巧

这篇文章主要介绍了PowerShell入门教程之高效使用PowerShell交互式运行环境的几个小技巧,本文也可以说是使用PowerShell的一些好习惯,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之Cmd命令与PowerShell命令相互调用的方法

这篇文章主要介绍了PowerShell入门教程之Cmd命令与PowerShell命令相互调用的方法,本文讲解了在Cmd命令中调用PowerShell命令、在PowerShell命令中调用Cmd命令的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之远程操作运行PowerShell的方法

这篇文章主要介绍了PowerShell入门教程之远程操作运行PowerShell的方法,本文讲解了配置远程基础结构、执行远程操作等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之PowerShell管道介绍

这篇文章主要介绍了PowerShell入门教程之PowerShell管道介绍,本文讲解了管道的作用,并列出了几个使用实例,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之函数、脚本、作用域介绍

这篇文章主要介绍了PowerShell入门教程之函数、脚本、作用域介绍,本文所讲内容都是PowerShell的基础知识,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之访问.Net程序集、COM和WMI实例

这篇文章主要介绍了PowerShell入门教程之访问.Net程序集、COM和WMI实例,本文讲解了PowerShell作为Windows平台的脱水语言来访问其它资源的例子,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之创建和使用配置文件实例

这篇文章主要介绍了PowerShell入门教程之创建和使用配置文件实例,PowerShell的配置文件都是些普通的PowerShell脚本文件,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之编写和使用脚本模块实例

这篇文章主要介绍了PowerShell入门教程之编写和使用脚本模块实例,本文讲解了模块、脚本模块、编写脚本模块、模块安装路径、模块文件夹等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

WMI入门教程之什么是WMI?

这篇文章主要介绍了WMI入门教程之什么是WMI?WMI有一组API,我们可以使用VBScript、PowerShell脚本还是利用C#的来访问WMI的类库,需要的朋友可以参考下
收藏 0 赞 0 分享

WMI入门教程之怎么使用WMI?

这篇文章主要介绍了WMI入门教程之怎么使用WMI?本文讲解了在软件中、PowerShell中、.NET中使用WMI的例子,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多