Несколько советов с Go и Gogland

Всем привет. Я очень новичок в Go и Gogland. У меня есть проект Иди проект в Гогланд

  1. Я выбираю "Выполнить вид" в качестве пакета - чтобы запустить не только основной файл, но и проект. Почему он не может найти основной пакет??
  2. Как импортировать пакет util.myprinter в main.go, чтобы использовать его??

Пожалуйста, помогите мне

1 ответ

Решение

Во-первых, общая структура вашего рабочего пространства 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 каталог. Так что после того, как вы правильно настроили свое wrokspace, вы должны установить Package path в FirstSteps так как абсолютный путь этого пакета будет $GOPATH/src/FirstSteps, Если позже вы хотите запустить util пакет вы бы указали Package path как FirstSteps/util чтобы гогланд смог его найти.

Другие вопросы по тегам