Go 语言访问被拒绝

问题描述 投票:0回答:12

我是 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 go file-access
12个回答
14
投票

我只能代表我自己的情况说话。我在使用 Windows 10 时遇到了类似的错误。经过一些实验,该错误似乎来自我使用的防病毒软件 Avira。基本上,Avira 检测到 .exe 文件包含某种病毒的模式(在我的例子中称为 HEUR/APC(云)),这会阻止程序执行。

禁用防病毒软件后,一切恢复正常。


7
投票

对我来说,我使用 avira 只需将

C:\Users\Computer\AppData\Local\Temp
floder 添加到异常文件夹中即可实现实时保护。

解决了我的问题


4
投票

**** 仅当您的电脑上安装了 avira 防病毒软件时才适用 ****

问题是,avira 识别类似于某种病毒(HEUR/APC)的 go 解释器。 所以它阻止了它,我们得到了这个错误。

see the first row

只需转到同一页面中的设置并向文件夹添加例外,就像我所做的那样。

add this path to the exception : C:\Users\User\AppData\Local

然后按“确定”并应用,就可以开始了。

附注- 我看到其他人也指出这是avira防病毒软件,但没有给出正确的解决方案,所以我想从我这边给出一个正确的解决方案。


2
投票

您的代码是正确的。 您可以通过 https://play.golang.org/ 运行它,它将打印“1”

您收到的错误不是 Go 错误,而是 Windows 错误。 它看起来像一个权限问题(不知道为什么你会得到它)


2
投票

所以这里的技巧是您需要在 Windows 中以管理员身份运行应用程序


1
投票

这对我有用,因为我没有管理员权限来停用我的防病毒软件

构建main.exe;主要./exe


1
投票

我的情况是

%userprofile%\AppData\Local\Temp
同样的错误 我将此目录添加到360的信任列表后问题解决了


1
投票

将代码文件夹添加到例外列表解决了问题

Windows 安全 -> 病毒和威胁防护设置 -> 排除 -> 添加文件夹

在您的代码所在的位置添加您的 workplace 文件夹。添加临时文件夹对我来说不起作用。

go build gotest.go ; .\gotest.exe

使用上述命令(常规命令提示符。)可以消除弹出警报,但不知道原因。


0
投票

我遇到了同样的错误,这是因为我的 Cylance Protect 防病毒软件所致。尝试禁用它。


0
投票

我也遇到过这种情况,但这不是 Go 的问题,而是 Windows 的问题。我没有安装任何防病毒软件,所以我所做的是,如果我要使用 Go(无论使用什么文本编辑器),我都会以管理员身份运行它。这解决了我的问题(仅限 WINDOWS)


0
投票

我遇到过类似的情况,当我关闭防病毒软件后,问题就消失了。我建议你尝试一下。


0
投票

诺顿防病毒软件是罪魁祸首。我添加了例外以避免扫描所需的项目。

© www.soinside.com 2019 - 2024. All rights reserved.