PowerShell函数参数指定数据类型实例
本文介绍在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定义函数参数的2种方法和传参方法实例
本文介绍PowerShell自定义函数定义参数的两种方法,一种是将参数列表放到函数名之后,就跟其它语言定义函数参数一样;另一种则是PowerShell独有的方
PowerShell中对函数参数的命名建议
PowerShell自定义函数的参数没有具体的命名规则,那么怎么做才能让参数的命名更加科学可持续。我们应该怎么来命名函数的参数名称呢?有没有一个可
PowerShell编程中的一些命名规则参考
本文介绍PowerShell自定义函数在使用时的最佳实践(BestPractices)。包括函数名的命名、可选参数、必选参数等。PowerShell中的函数定义可以很简单的使用
编辑:广州鸿名健康科技有限公司
标签:函数,参数,自定义,定义,类型