gpt4 book ai didi

function - 正确使用参数

转载 作者:行者123 更新时间:2023-12-04 22:55:55 26 4
gpt4 key购买 nike

什么是处理参数的好习惯,我什么时候选择什么选项?

例子:通常我写这样的函数:

function Do-Something ($variable1, $variable2, $variable3....) 
{ Do Stuff }

现在显然这也是一个选择:
Param(
[Parameter(Position=0,
Mandatory=$True,
ValueFromPipeline=$True)]
[string]$userName,
...
)

但是,我不知道为什么要使用第二个,或者使用它的真正优势是什么。

最佳答案

第二个 Param()块允许你做很多高级参数验证。

如果我需要用最少的输入验证编写一个简短的函数,我将使用这样的东西:

Function Test-Port ([string]$Server,[uint16]$Port=80,[uint16]$Timeout = 3000) {
#code here
}

但是如果我需要写一些像这样的高级检查:
function Get-SiteCert{
[CmdletBinding(DefaultParameterSetName = "Return")]
Param(
[Parameter(Mandatory=$true,Position=0)]
[string]$Server,
[Parameter(Position=1)]
[uint16]$Port=443,
[Parameter(Mandatory=$false, ParameterSetName="RawObj")]
[switch]$Raw,
[Parameter(Mandatory=$false, ParameterSetName="Export")]
[switch]$Export,
[Parameter(Mandatory=$true, ParameterSetName="Export")]
[string]$Path,
[uint16]$Timeout=3000
)
#code here
}

我绝对不会将它们全部放入顶部栏,即使它们是相似的脚本,但第二个“做”更多。这真的只是个案。

您可以查看 this link有关您可以使用扩展参数做什么的示例,但如果您不需要这些,请随意继续使用您喜欢的任何一个。

关于function - 正确使用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46727229/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com