我是 GO 编程语言的新手,我想做的是将一些项目放入地图中,然后删除其中之一,当我尝试从数组中删除其中一项时,我得到错误信息:
C:/Go\bin\go.exe run C:/Users/Computer/IdeaProjects/untitled1/simple.go
fork/exec C:\Users\Computer\AppData\Local\Temp\go-build143466426\command-line-arguments\_obj\exe\simple.exe: Access is denied.
代码:
package main
import "fmt"
func main(){
presAge := make(map[string] int)
presAge["test"] = 42
presAge["boom"] = 421
delete(presAge,"boom")
fmt.Println(len(presAge))
}
我只能代表我自己的情况说话。我在使用 Windows 10 时遇到了类似的错误。经过一些实验,该错误似乎来自我使用的防病毒软件 Avira。基本上,Avira 检测到 .exe 文件包含某种病毒的模式(在我的例子中称为 HEUR/APC(云)),这会阻止程序执行。
禁用防病毒软件后,一切恢复正常。
对我来说,我使用 avira 只需将
C:\Users\Computer\AppData\Local\Temp
floder 添加到异常文件夹中即可实现实时保护。
解决了我的问题
您的代码是正确的。 您可以通过 https://play.golang.org/ 运行它,它将打印“1”
您收到的错误不是 Go 错误,而是 Windows 错误。 它看起来像一个权限问题(不知道为什么你会得到它)
所以这里的技巧是您需要在 Windows 中以管理员身份运行应用程序
这对我有用,因为我没有管理员权限来停用我的防病毒软件
构建main.exe;主要./exe
我的情况是
%userprofile%\AppData\Local\Temp
同样的错误
我将此目录添加到360的信任列表后问题解决了
将代码文件夹添加到例外列表解决了问题
Windows 安全 -> 病毒和威胁防护设置 -> 排除 -> 添加文件夹
在您的代码所在的位置添加您的 workplace 文件夹。添加临时文件夹对我来说不起作用。
go build gotest.go ; .\gotest.exe
使用上述命令(常规命令提示符。)可以消除弹出警报,但不知道原因。
我遇到了同样的错误,这是因为我的 Cylance Protect 防病毒软件所致。尝试禁用它。
我也遇到过这种情况,但这不是 Go 的问题,而是 Windows 的问题。我没有安装任何防病毒软件,所以我所做的是,如果我要使用 Go(无论使用什么文本编辑器),我都会以管理员身份运行它。这解决了我的问题(仅限 WINDOWS)
我遇到过类似的情况,当我关闭防病毒软件后,问题就消失了。我建议你尝试一下。
诺顿防病毒软件是罪魁祸首。我添加了例外以避免扫描所需的项目。