Ответ 1
Если GOROOT
относится к месту установки go (C:\Go
), вам необходимо убедиться, что:
-
GOPATH
отличается отGOROOT
(важно, потому чтоGOROOT/[src|pkg|bin]
- это папки для самого языка Go, а не для ваших собственных источников). -
GOPPATH
указывает на папку, в которой будет находиться все ваш другой проект Go (напримерC:\Users\yourName\Go
: определяет workspace) - ваш проект eclipse создается в
GOPATH\src\myproject
См. "" Как написать код перехода", чтобы убедиться, что ваши источники установки и проекта уважают ожидаемую организацию.
OP Tiina сообщает в комментариях:
Теперь это работает, но я заметил две вещи странные.
- Сначала я сделал: я перемещаю папку
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 определяет один GOPATH
для каждого проекта (или завершить существующий GOPATH
).
Если вы создадите или импортируете проект, он будет определять/завершить GOPATH
в <that project/src>
Если вы hello.go находится в этой папке <that project/src/>
, тогда он должен строить и работать как ожидалось.
руководство пользователя "структура проекта" goclipse упоминает:
Местоположение проекта не является частью любой записи
GOPATH
.
В этом случае местоположение проекта будет неявно добавляться как запись вGOPATH
, и в проекте будет использоваться структура рабочего пространства Go с каталогамиbin
,pkg
иsrc
.Обратите внимание, что проект неявной записи
GOPATH
применим только к исходным модулям в этом проекте. Он не будет отображаться для других проектов Goclipse (если запись явно не добавлена к глобальномуGOPATH
).В папке
src
вы можете создавать исходные файлы Go, которые будут скомпилированы в пакет библиотеки (и помещены вpkg
) или в исполняемый файл (и помещены вbin
)