PowerShell定义函数参数的2种方法和传参方法实例
本文介绍PowerShell自定义函数定义参数的两种方法,一种是将参数列表放到函数名之后,就跟其它语言定义函数参数一样;另一种则是PowerShell独有的方式,那就是使用param关键词。
先来看看第一种定义参数的方式——将参数列表放到函数名之后
举个例子先看看:
function Test-Function($参数名1='默认参数值1', $参数名2='默认参数值2') { Write-Host "参数1=$参数名1,参数2=$参数名2"; }
这种方式比较简单直接,而且有点像C#和PHP,可以直接赋默认值。
微软告诉我们,这种将参数定义的列表直接放到函数名后,不是最佳的做法。PowerShell在内部处理的时候,还是会进一步的将上面定义的参数格式转换成如下的官方语法:
function Test-Function { param($参数名1='默认参数值1', $参数名2='默认参数值2') Write-Host "参数1=$参数名1,参数2=$参数名2"; }
大家看出区别来了吧,直接将函数名之后的参数列表,连同括号一起拿掉。然后在函数体(大括号之内)来一段param关键词开始的参数定义代码,把参数列表就放到这儿了。其它的不变。
不管上面哪种定义参数列表的方式,运行的结果都是一样的。
顺便说一句,因为上面定义了参数的默认值,所以在调用的时候可以为参数赋值,可以不赋值。但赋值时一定要指明参数的名称。如:
PS> Test-Function 参数1=默认参数值1,参数2=默认参数值2PS> Test-Function -参数1 "p1" 参数1=p1,参数2=默认参数值2
关于PowerShell函数参数定义,本文就介绍这么多,希望对您有所帮助,谢谢!
PowerShell中对函数参数的命名建议
PowerShell自定义函数的参数没有具体的命名规则,那么怎么做才能让参数的命名更加科学可持续。我们应该怎么来命名函数的参数名称呢?有没有一个可
PowerShell编程中的一些命名规则参考
本文介绍PowerShell自定义函数在使用时的最佳实践(BestPractices)。包括函数名的命名、可选参数、必选参数等。PowerShell中的函数定义可以很简单的使用
PowerShell中简单的自定义函数和调用函数例子
在PowerShell中是否有函数?PowerShell是否可以自定义函数?PowerShell中如何自定义函数?在PowerShell中,我们可以使用函数(function)来简化编程开发。在Power