Я пытаюсь написать программу, где у меня есть структура вроде:Go ошибок пользовательского пакета импорт
Go/src/
-github.com
-myname
-hello
main.go
-vector
vector.go
Когда я импортировать пакет в моем коде внутри файла main.go
, используя команду:
import(
"vector"
)
Я получаю сообщение об ошибке:
Can't find package "vector" in any of:
C:\Go\src\vendor\vector (vendor tree)
C:\Go\src\vertex (from $GOROOT)
C:\Go\src\github.com\myname\src\vertex (from $GOPATH)
Почему добавление src
на этой последней строке? Не следует ли заменить src на папку hello, так как с этого момента я запускаю файл? Кроме того, он запускается, если я импортирую его из полной файловой структуры, например github.com/myname/hello/vertex
, которая мне кажется странной.
Я использую go run hello.go
, чтобы упростить мое взаимодействие с программой.
Итак, если я правильно понял, мой персональный код отправляется в '$ GOROOT/src', но если я импортирую репо из чужого кода, я бы поместил его в' $ GOROOT/src/github.com/username/reponame'? – Rob
Код пользователя должен находиться под $ GOPATH [/ src], а не $ GOROOT [/ src]. – cd1
@ cd1 ugh, очень жаль, исправлено – twotwotwo