为了账号安全,请及时绑定邮箱和手机立即绑定

为什么这个 Go-Lang IntelliJ 插件与 Go 的语法不一致?

为什么这个 Go-Lang IntelliJ 插件与 Go 的语法不一致?

Go
倚天杖 2021-09-13 20:10:27
我对 Go 有点陌生,所以这可能是 Go 问题,而不是 IntelliJ 问题:我刚刚设置了 https://github.com/go-lang-plugin-org/go-lang-idea- plugin/来自 zipfile,在 IntelliJ 14 中。我发现编译器和语法高亮不一致。world, err := redis.String(c.Do("GET", "message1"))if err != nil {    fmt.Println("key not found")}产生以下错误消息。*没有足够的参数调用 Redis.String。仔细观察对 Redis.String 的调用,它似乎需要一个 interface+args。func String(reply interface{}, err error) (string, error) {     ....    return "", fmt.Errorf("redigo: unexpected type for String, got type %T", reply)}因此,我可以通过简单地在调用末尾添加一个“错误”参数来欺骗 IDE 删除错误消息,如下所示:world, err := redis.String(c.Do("GET", "message1"), err)但是唉!这个“修复”让 go 编译器不高兴……它会报告这个消息(即使 IntelliJ 插件没有将其解释为错误)。./t1.go:19: 单值上下文中的多值 c.Do()关于为什么 IntelliJ Go Plugin 需要两个 args 而 GoLang 只需要一个 args 的任何想法,对于这个函数会有很大帮助。
查看完整描述

1 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

这不是您犯的错误,这只是我们目前在插件的特定部分遇到的问题,该部分负责处理此类事情。

根据我的回答,请看问题13431222

谢谢你。


查看完整回答
反对 回复 2021-09-13
  • 1 回答
  • 0 关注
  • 213 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信