Powershell “使用”是否有技术优势;参数(此处为“参数”)“;在函数中的“上”;函数myfunc(<;param here>;)";?

Powershell “使用”是否有技术优势;参数(此处为“参数”)“;在函数中的“上”;函数myfunc(<;param here>;)";?,powershell,Powershell,为什么参数输入有两种不同的格式?除了个人品味之外,还有其他好处吗 例如,我之所以使用它,是因为这是我在阅读有关Powershell的文档时第一次看到的 function MyAwesomeFunction ( [parameter(Mandatory=$Whatever)] [string] $MyAwesomeVariable = MyAwesomeDefaultValue ) {MyAwesome stuff to do} 但是,在查看用户制作的示例时,

为什么参数输入有两种不同的格式?除了个人品味之外,还有其他好处吗

例如,我之所以使用它,是因为这是我在阅读有关Powershell的文档时第一次看到的

function MyAwesomeFunction
  (
    [parameter(Mandatory=$Whatever)]
    [string]
    $MyAwesomeVariable = MyAwesomeDefaultValue
  )
  {MyAwesome stuff to do}
但是,在查看用户制作的示例时,也会出现这样的情况,即参数是这样生成的

function MyAwesomeFunction 
  {
    param(
    [parameter(Mandatory=$Whatever)]
    [string]
    $MyAwesomeVariable = MyAwesomeDefaultValue
    )
  MyAwesome stuff to do
  }

如果您只是编写一个普通的旧函数,PowerShell不在乎您使用哪种样式;无论哪种方式,它都应该工作得很好。但是,许多人使用
Param()
来实现一致性,因为在某些情况下需要一致性。最值得注意的是,
CmdletBinding()
属性要求使用
Param()
(即使您的函数没有任何参数)。

此外,脚本和带有参数的脚本块需要Param()语句。