我尝试在命令提示符下运行程序#Go lang-但是当我输入“go run hello.go”命令时,我就开始了
CreateFile hello.go:系统找不到指定的文件
请帮助编译并运行上面标记的程序,提前致谢
答案 0 :(得分:2)
从运行dir
命令的输出中可以看出
在shell会话的早期,确实没有名为“hello.go”的文件
在C:\GOCODE\testproject
目录中。
执行
时go run hello.go
命令,go
工具尝试在当前查找名为“hello.go”的文件
目录(因为该文件的名称是相对的,所以它正在存在
在当前工作目录中搜索)。没有这样的文件,
这就是go run
告诉你的。
不幸的是,从你的shell会话的展望来看,它出现了 你的设置有更多问题。 你的Go方法存在问题。
首先,看起来你正在追随 this guide(这是正确的 实际上,你误解了它。
它试图告诉你的是你应该创建“src”
目录(然后是包含测试项目的“hello”目录)
在所谓的工作区中,和Go已知的工作空间列表
存储在GOPATH
环境变量中。
从go env
输出中可以看出,Go认为你有一个
工作区位于C:\Users\Sitaram\Go
。
现在值得重申 - 与许多(如果不是大多数)“主流”相反
语言,-Go不是“基于项目的”;相反,它需要你所有的代码
在这些工作空间中组织起来,它想知道这些工作地点
工作区是。
默认情况下 - 如果您未明确设置GOPATH
环境
变量,-it假定您的单个工作空间位于目录中
名为“go”的文件放在你的“主文件夹”中。
这就是您在go env
输出中看到的内容。
现在您有两个选择:
设置GOPATH
env。您的用户变为C:\GOCODE
的变量
然后启动另一个shell - 以便它“看到”该变量并允许
go
工具也可以查看和使用)。
运行go env
以验证GOPATH
包含C:\GOCODE
。
然后按照教程文档的其余部分进行操作:
C:\GOCODE
。cd C:\GOCODE\src\hello
然后go build
- 您将拥有
hello.exe
在那里创建。请勿与GOPATH
混淆,只需重复上述步骤2-4即可
在默认工作区 - C:\Users\Sitaram\go
。
我会选择第二种变体,因为这种莫名的感情
某些Windows用户使用随机个人污染C:\
数据真的是反模式;把你的个人物品放在家里
夹! Windows已经走了很长的路要走;几乎所有
Windows软件终于出现了 - 理解这种范式。为什么要偏离?
其次,请取消 go run
。
我不确定Go开发者真的后悔实现它,
但人们确实误解了这个工具的用途。
这是一次性扔掉的“脚本”。
使用go install
进行真正的开发,有时使用go build
。
在大多数情况下,您使用的正常开发例程go install
独占 - 因为它缓存了所有包的编译结果
你的项目取决于。 go build
不会这样做,go run
会这样做
甚至不保留项目本身编译的结果。
有关详细信息,请阅读this快速参考卡。
答案 1 :(得分:0)
获取gpackage后,请检查bin目录中是否存在yourproject.exe,以将github包与项目一起编译。 如果没有,则必须执行cd src / yourproject,然后输入go install并按Enter。
答案 2 :(得分:0)
尝试执行以下命令检查是否更正:
go env -w GOOS=windows