Подтвердить что ты не робот

Как я могу найти свой пакет?

Где я должен поместить свой пакет, чтобы он мог быть импортирован другим пакетом?

$ tree
.
├── main.go
└── src
    └── test.go

1 directory, 2 files

$ cat src/test.go 
package test

$ cat main.go 
package main

import "test"

$ go build main.go 
main.go:3:8: import "test": cannot find package
4b9b3361

Ответ 1

Установите GOPATH. Поместите свой пакет foo source (s) в GOPATH/src/optional-whatever/foo/*. И используйте его в коде как

import "optional-whatever/foo"

Вам не нужно явно устанавливать foo, инструмент go - это инструмент построения, он будет делать это автоматически при необходимости.

Ответ 2

Есть несколько вещей, которые должны произойти. Сначала необходимо установить пакет "test":

$ export GOPATH=$(pwd)   # Assumes a bourne shell (not csh)
$ mkdir src/test
$ mv src/test.go src/test/test.go
$ mkdir pkg                 # go install will put packages here
$ go install test           # build the package and put it in $GOPATH/pkg
$ go build main.go

Обратите внимание, что нет необходимости создавать pkg, поскольку go install сделает это за вас. После того, как вы установили тестовый пакет (обычно это плохое имя, BTW) go build main.go, теперь должны появляться разные ошибки (например, "импортировано и не используется" )

Ответ 3

возможно, вы можете поместить файл test.go в тот же каталог с main.go, и в test.go, он использует что-то вроде этого:

import "./test"