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

我有点新去的,所以这可能是一个围棋的问题,而不是一个一个的IntelliJ:我刚刚建立了https://github.com/go-lang-plugin-org/go-lang-idea-plugin/从压缩文件中的IntelliJ 14Go-Lang IntelliJ插件为什么与Go的语法不一致?

我发现,编译器不一致与语法高亮。

world, err := redis.String(c.Do("GET", "message1")) 

if err != nil {

fmt.Println("key not found")

}

产生以下错误信息。

*调用Redis.String时没有足够的参数。

仔细看看对Redis.String的调用,它似乎需要一个接口+参数。

func String(reply interface{}, err error) (string, error) { 

....

return "", fmt.Errorf("redigo: unexpected type for String, got type %T", reply)

}

就这样,我能够在IDE诱骗取出RROR消息,通过简单地增加一个“犯错” ARG到通话结束后,像这样:

world, err := redis.String(c.Do("GET", "message1"), err) 

!这个“修复”会让编译器不高兴......并且它会报告此消息(即使IntelliJ插件不会将其解释为错误)。

./t1.go:19:多值c.Do()的单值上下文

上为什么的IntelliJ转到插件希望有两个参数,有什么想法wheresas只GoLang想要一个参数,因为这个功能会有很大的帮助。

回答:

这不是你犯的一个错误,它只是一个问题,我们现在有一个问题,那个插件的特定部分负责照顾那样的事情。

按照my answer,请看问题1343和1222。

谢谢。

以上是 Go-Lang IntelliJ插件为什么与Go的语法不一致? 的全部内容, 来源链接: utcz.com/qa/258568.html

回到顶部