登录
首页 >  Golang >  Go问答

编译期间调用的参数过多

来源:stackoverflow

时间:2024-02-21 19:15:26 413浏览 收藏

从现在开始,努力学习吧!本文《编译期间调用的参数过多》主要讲解了等等相关知识点,我会在golang学习网中持续更新相关的系列文章,欢迎大家关注并积极留言建议。下面就先一起来看一下本篇正文内容吧,希望能帮到你!

问题内容

我想在我的 go 项目中使用一个包,但由于以下错误,我什至无法成功编译代码:

c:\users\usr01\go\pkg\mod\github.com\alethio\[email protected]\multicall\viewcall.go:259:8: assignment mismatch: 1 variable but wrapperargs.unpack returns 2 values 

c:\users\usr01\go\pkg\mod\github.com\alethio\[email protected]\multicall\viewcall.go:259:37: too many arguments in call to wrapperargs.unpack

当我使用 go run 启动程序时会发生这种情况,我假设在编译期间,因为使用该包的代码不会被调用。我是这种语言的新手,但我可以调查的是问题发生在属于 web3-go-multicall 包的 viewcall.go 文件的 259. 行之前。

这就是问题发生的地方:

data, err := wrapperargs.unpack(rawbytes)

我不明白,为什么会出现这个问题?因为两个返回的变量都分配给 dataerr,所以 assignment missmatch: 1 variable butwrapperargs.unpack returns 2values 错误对我来说似乎不正确。

wrapperArgs := abi.Arguments{
    {
        Name: "BlockNumber",
        Type: uint256Type,
    },
    {
        Name: "Returns",
        Type: returnType,
    },
}
data, err := wrapperArgs.Unpack(rawBytes)

正确答案


您已链接 master 中的代码,但根据您提供的日志,您使用的是 v0.0.15 版本。在该版本中,左侧只有 1 个参数,2 个参数传递给函数 - https://github.com/Alethio/web3-multicall-go/blob/v0.0.15/multicall/viewcall.go#L259

可能有 2 个库(github.com/Alethio/web3-multicall-gogithub.com/ethereum/go-ethereum 或其中的某个子库)具有不兼容的版本。

终于介绍完啦!小伙伴们,这篇关于《编译期间调用的参数过多》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>