有没有办法在接口 [Golang] 中传递多个参数? [关闭]

Posted

技术标签:

【中文标题】有没有办法在接口 [Golang] 中传递多个参数? [关闭]【英文标题】:Is there any way to pass multiple arguments in interface [Golang]? [closed] 【发布时间】:2021-11-06 04:39:17 【问题描述】:

有没有办法传递多个参数? 在这里,我分享我正在尝试调试的代码;

package main

type I interface 
    M()

type F int

func (f, j F) M() 


func main() 
    var i I
    i = F(42, 67)
    describe(i)
    i.M()

错误: ./prog.go:10:15: 方法有多个接收器 ./prog.go:15:7: 转换为 F 的参数太多:F(42, 67)

【问题讨论】:

你所描述的没有意义。一个方法只能有一个接收者。你想完成什么? 如果你想将多个整数包装到F,让它成为一个结构体。 The Tour of Go (tour.golang.org) 描述了基本语法,你应该学习它。您的代码看起来像是通过对词法分析器/解析器进行模糊测试而生成的测试用例。 @Adrian Multiple dispatch 存在并且有时是一件明智的事情,只是 Go 不支持它。但无论如何,我不确定提问者是否想要它。 @Thomas 他们所描述的甚至看起来不像是多次调度,但这个问题还不清楚它到底想做什么。 【参考方案1】:

目前尚不清楚您要完成什么,但这是我的最佳猜测:

package main

type I interface 
    M()

type F struct 
    f int
    j int


func (f F) M() 


func main() 
    var i I
    i = F42, 67
    describe(i)
    i.M()

【讨论】:

看起来不错;谢谢你;我们可以不使用结构吗? 您为什么要这样做?这就是结构的用途。

以上是关于有没有办法在接口 [Golang] 中传递多个参数? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法将多个(和不同的)参数从闪电网络组件(LWC)中的 JS 传递给 Apex 控制器类?

web API之post参数传递

有没有办法将多个参数传递给jquery函数[重复]

Golang 中的匿名接口实现

Laravel 4:如何传递多个可选参数

说说不知道的Golang中参数传递