Как скомпилировать программу Go, состоящую из нескольких файлов?



Итак, у меня есть небольшая программа, которая состоит из трех файлов, все принадлежащие к одному пакету (main), но когда я делаю "go build main.перейти " сборка не удается. Когда это был только один файл (main.идти) все работало нормально. Теперь, когда я предпринял некоторые усилия, чтобы отделить код, похоже, компилятор не может найти материал, который был взят из main.идите и поместите в эти два других файла (которые находятся в том же каталоге, что и основной.идти.) Что приводит к "неопределенному типу"" ошибки.



Я читал что-то о настройке переменной GOPATH, поэтому я попробовал



set GOPATH=%cd%
go build main.go


но это тоже не сработало.



любая помощь приветствуется.

1033   3  

3 ответов:

Предположим, вы пишете программу myprog :

Поместите все ваши файлы в каталог, как это

myproject/go/src/myprog/xxx.go

затем добавить myproject/go в GOPATH

и работать

go install myprog

таким образом, Вы сможете добавить другие пакеты и программы в myproject/go/src, если хотите.

ссылка:http://golang.org/doc/code.html

(этот документ всегда пропускается новичками и часто плохо понимается сначала. Оно должно получить наибольшее внимание команды Go IMO)

когда вы отделяете код more.go, вы просто передаете этот файл go build/go run/go install как хорошо.

так что если вы раньше бегала

go build main.go

вы сейчас просто

go build main.go more.go

также дополнительную информацию:

go build --help

гласит:

If the arguments are a list of .go files, build treats them as a list
of source files specifying a single package.

обратите внимание, что go build и go install отличается от go run в том, что первые два государства ожидать имена пакетов как аргументы, в то время как последний ожидает go files. Однако первые два также будут принимать файлы go, как и go install.

Если вам интересно: построить будет просто build пакеты/файлы install будет производить объектные и двоичные файлы в вашем GOPATH, и run скомпилирует и запустит вашу программу.

вы также можете просто запустить

go build

в папке проекта myproject / go/src / myprog

затем вы можете просто ввести

./myprog

для запуска приложения

Comments

    Ничего не найдено.