我已经在我的Eclipse中安装了gocliope,并创建了一个新的围棋项目.

这就是我所拥有的:

在此处输入图像描述

我有个HELLO.围棋看起来是这样的:

package main

import "fmt"

func main() {
     fmt.Println("Hello")
}

然后我按run按钮,或者右键单击文件hello.go ,然后跑,它什么也不给.此外,它在bin文件夹中也是空的.

然后我按下run configurations键,几乎是空的,只有一个项目名称.它给出:

Given Go package not found.

这是我对围棋的偏好: 在此处输入图像描述

我注意到GOROOT和GOPATH都与资源管理器中列出的不同,但是一旦我将它们更改为C:\go\src\pkg或C:\go\src,Apply和OK按钮就会被禁用.另外,我也没有C:\go\src\pkg文件夹.

我可以在命令行中使用go installgo build,但我想将Eclipse用于另一个更大的项目.它是Windows7,Eclipse版本是露娜服务版本1(4.4.1).谢谢.

编辑:现在我有了以下配置,可以正常工作了:

推荐答案

如果GOROOT指的是GO的安装位置(C:\Go),则需要确保:

  • GOPATH不同于GOROOT(这很重要,因为GOROOT/[src|pkg|bin]是Go语言本身的文件夹,而不是你自己的源)
  • GOPPATH指向一个文件夹,所有不同的围棋项目都将位于该文件夹下(例如,C:\Users\yourName\Go:它定义了一个100)
  • 您的eclipse项目是在GOPATH\src\myproject中创建的.

请参见"How to Write Go Code"以确保您的安装和项目源代码符合预期的组织.


OP Tiina份报告有in the comments份:

现在它起作用了,但我注意到两件奇怪的事情.

  • 首先我做的是:我把helloTest文件夹移到C:\Users\Tiina\go_workspace\src,所以现在是C:\Users\Tiina\go_workspace\src\helloTest.
  • 然后,我从现有代码创建项目.其他的一切都没有改变.现在我浏览器里有两个GOPATH,一个是C:\Users\Tiina\go_workspace\src,一个是C:\Users\Tiina\go_workspace\helloTest\src.
    后者一开始并不存在.

我怀疑goclipse的作用是 for each 项目定义一个GOPATH(或完成现有的GOPATH).
如果您创建或导入项目,它将在<that project/src>中定义/完成GOPATH
如果hello.go在<that project/src/>文件夹内,那么它应该可以按预期构建和工作.

user guide "project structure" of goclipse条提到:

项目位置不属于任何GOPATH个条目的一部分

请注意,项目的隐式GOPATH条目将仅应用于该项目中的源模块.它对其他Goclipse项目是不可见的(除非该条目显式添加到全局GOPATH).

src文件夹中,您可以创建GO源文件,这些文件将编译成库包(放入pkg)或可执行文件(放入bin)

Go相关问答推荐

Go 1.22 net/http群组路由

杜松子wine -戈尼克背景在 children 围棋例行公事中被取消

Makefile:现有文件上没有这样的文件或目录,不加载环境变量

如何复制*C.char?

在Go中根据命名空间/字符串生成UUID

使用!NOT运算符的Golang文本/模板多个条件

go aws-lambda 与 terraform 中的 exec 格式错误

有没有办法让sqlc生成可以使用pgxpool的代码

如何测试 Zerolog 记录器引发类型错误的日志(log)事件?

切片的下限和上限

转到 bufio.Writer、gzip.Writer 并上传到内存中的 AWS S3

Go Build删除信息

我应该先解锁然后再广播吗?

Kubo,来自 IpfsNode.Bootstrap 的无效内存地址或零指针取消引用

AWS Lambda 中的 Websocket URL 超时达到错误

我突然无法再将我的 GoLang 应用程序部署到 Google AppEngine

Golang 中具体类型的错误片段

如何在自定义验证函数中获取 struct 名称

有没有办法判断值是否满足接口中定义的类型约束?

vs 代码调试 go 测试不通过标志