Во-первых, общая структура вашего рабочего пространства в Go кажется неправильной. Вам нужно сделать так, чтобы это выглядело примерно так:
D:
|-- go_projects
| |-- bin
| |-- pkg
| |-- src
| | |-- FirstSteps
| | | |-- main.go
| | | +-- util
| | | +-- myprinter.go
| | |-- SecondProject
| | |-- ThirdProject
...
Во-вторых, ваш оператор import
кажется пустым, я понятия не имею, как работает goglang, но если вы хотите использовать то, что находится в вашем файле myprinter.go
, вам нужно будет импортировать пакет util
, предполагая, что файл myprinter.go
объявляет свой package
как util
в Топ.
// FirstSteps/main.go
package main
import (
"FirstSteps/util"
)
func main() {
util.MyPrinterFunc()
}
И, конечно же, чтобы иметь возможность использовать что-либо из util
, сначала должно быть что-то...
// FirstSteps/util/myprinter.go
package util
func MyPrinterFunc() {
// do stuff...
}
Редактировать: извините, изначально я не ответил на ваш вопрос. Вы получаете сообщение об ошибке Cannot find package 'main'
из-за неправильной настройки рабочего пространства, о которой я уже упоминал. Package path
указывает Gogland, где пакет, который вы хотите запустить, относительно каталога $GOPATH/src
. Итак, после того, как вы правильно настроили свое рабочее пространство, вы должны установить Package path
на FirstSteps
, так как абсолютный путь к этому пакету будет $GOPATH/src/FirstSteps
. Если позже вы захотите запустить пакет util
, вы должны указать Package path
как FirstSteps/util
, чтобы gogland мог его найти.
person
mkopriva
schedule
26.03.2017