具有可变参数的Golang调用方法

具有可变参数的Golang调用方法,go,Go,我有一个用例,我需要执行一系列具有不同参数的方法,如果我遇到一个特定的返回值,那么我需要停止执行。大约有50种类似的方法 这里给你举个例子是我的用例 func方法1(参数1类型1,参数2类型2,参数3类型3)bool{ //这里我只使用param1,其他2个param没有被使用。 如果参数1上存在某些条件{ 返回真值 } 返回错误 } 调用方方法如下所示 rejectionFuncs:=[]函数(类型1、类型2、类型3)布尔{ 方法一,方法二, } 对于z,s:=范围拒绝函数{ 拒绝:=s(参

我有一个用例,我需要执行一系列具有不同参数的方法,如果我遇到一个特定的返回值,那么我需要停止执行。大约有50种类似的方法

这里给你举个例子是我的用例

func方法1(参数1类型1,参数2类型2,参数3类型3)bool{
//这里我只使用param1,其他2个param没有被使用。
如果参数1上存在某些条件{
返回真值
}
返回错误
}
调用方方法如下所示

rejectionFuncs:=[]函数(类型1、类型2、类型3)布尔{
方法一,方法二,
}
对于z,s:=范围拒绝函数{
拒绝:=s(参数1、参数2、参数3)
如果被拒绝{
返回错误
}
}
我只能考虑以优雅的方式执行一系列方法,但这种方法的缺点是我可以看到有许多方法没有使用参数。如果在代码限定检查上运行,这些方法会抱怨我没有使用params


有没有办法简化这里的代码

不使用params不是一个错误,事实上,当您想要实现一个具有params方法的接口,但您的特定实现不(需要)使用它们时,通常会出现这种情况


在本例中,可以简化的一件事是将参数包装在结构中,只需将结构(或指向结构的指针)传递给函数。这也将使您的代码质量检查器平静。

我发现使用空白标识符<代码> >代码>来指示函数参数实际上不在函数的正文中使用/引用是一个很好的做法。我喜欢。代码覆盖率现在没有问题。
func Method2(param1 type1, param2 type2, param3 type3) bool {
    // here i use param2 and param3. Param1 is not used 
    if some condition on param2 and param3 {
        return true
    }
    return false
}