Goland显示os.Remove()无法解析?

huangapple go评论92阅读模式
英文:

Goland shows os.Remove() can't be resolved?

问题

Goland(2022.1.3)中,使用go(1.19.1),它无法解析os.Remove(),但如果我改成os.RemoveAll(),就可以了。

我已经查看了go doc源代码,该函数确实存在。

那么,问题出在哪里?这是Goland的一个bug吗?

(顺便说一下,我使用的是Linux操作系统,如果这有关系的话。)


截图(在Goland中):

Goland显示os.Remove()无法解析?


**更新:**一个可以运行的示例代码

package main

import (
	"os"
)

func main() {
	os.Create("/tmp/a.txt")
	os.Remove("/tmp/a.txt")
}

这段代码可以正常运行,所以我认为这是Goland的bug。

英文:

In Goland (2022.1.3), using go (1.19.1), it can't resolve os.Remove(), but if I change to os.RemoveAll(), it's ok.

I've checked go doc and source code, the function does exists.

So, what's wrong ? Is that a goland bug ?

(BTW, I'm using linux os, if that matters.)


Screenshot (in Goland):

Goland显示os.Remove()无法解析?


Update: An example code that can run

package main

import (
	"os"
)

func main() {
	os.Create("/tmp/a.txt")
	os.Remove("/tmp/a.txt")
}

The code can run without error, so I think it's goland's bug.

答案1

得分: 10

Go在Go 1.19中引入了一个新的构建标签unix,但低于2022.2版本的GoLand不支持它。

  • 将GoLand更新到2022.2.3版本。
  • 或者,在“首选项/设置 | Go | 构建标签和依赖管理 | 自定义标签”中添加unix构建标签。

如果你使用带有Go插件的IntelliJ,请确保先将IntelliJ升级到2022.2或更高版本。它会同时提示升级插件。

英文:

Go introduces a new build tag unix in Go 1.19, but GoLand lower than 2022.2 doesn't support it natively.

  • Update GoLand to 2022.2.3.
  • Alternatively, add unix build tag in Preferences/Settings | Go | Build Tags & Vendoring | Custom tags.

If you use IntelliJ with the Go plugin, make sure to upgrade IntelliJ to 2022.2 or above first. It will prompt to upgrade the plugins at the same time.

huangapple
  • 本文由 发表于 2022年9月30日 14:00:49
  • 转载请务必保留本文链接:https://go.coder-hub.com/73904576.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定