我有點新去的,所以這可能是一個圍棋的問題,而不是一個一個的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想要一個參數,因爲這個功能會有很大的幫助。
有道理,謝謝。其實這個插件對於大多數其他任務來說工作得很好。 – jayunit100 2015-02-24 16:35:37