PowerShell函数参数指定数据类型实例
程序员文章站
2022-05-31 11:38:09
本文介绍在powershell创建自定义函数时,为必选参数设置强类型有什么好处,应该如何设置。
为了提高必选参数的安全性,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函数必选参数设置强类型,本文就介绍这么多,希望对您有所帮助,谢谢!
推荐阅读
-
MSSQL报错:参数数据类型 text 对于 replace 函数的参数 1 无效的解决办法
-
Python3中函数参数传递方式实例详解
-
Python可变参数函数用法实例
-
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
-
C语言中值得深入知识点----数组做函数参数、数组名a与&a区别、数组名a的"数据类型"
-
PHP获取指定函数定义在哪个文件中以及其所在的行号实例
-
Python函数的参数常见分类与用法实例详解
-
python函数参数*args**kwargs用法实例
-
Python函数可变参数定义及其参数传递方式实例详解
-
python通过装饰器检查函数参数数据类型的方法