"собирать" несколько программ в одной папке - PullRequest
0 голосов
/ 12 декабря 2018

У меня functions/hello.go файл

Запуск go build приводит к созданию нового двоичного файла functions в том же каталоге.

Я хотел бы иметь два исходных файла в *Каталог 1008 *: hello.go и hello2.go и возможность запуска go build, что приводит к двум двоичным файлам: hello и hello2.

Как этого добиться?

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

вы можете иметь 2 отдельных пакета, оба с main func, затем выполнить эту команду в обоих каталогах: GOBIN={compiled-dir} go install

0 голосов
/ 12 декабря 2018

Пакеты Go распространяются по одному каталогу.Это означает, что вы можете иметь только один пакет и, таким образом, самое большее один «основной» пакет в одном каталоге.То, что вы пытаетесь сделать, просто невозможно *.

Вместо этого вам нужно будет создать подкаталоги:

functions/hello/hello.go
functions/hello2/hello2.go

Затем вы можете построить их таким образом:

go build functions/...

* Технически говоря, вы можете достичь желаемой организации, полностью злоупотребив цепочкой инструментов go и указав конкретные пакеты go для компиляции, который имеет приоритет над другими файлами в каталоге.Это будет работать только для самых маленьких программ (в основном, для программ, содержащихся в одном файле .go или небольшом, управляемом количестве файлов .go). Для этого потребуется несколько команд, и, кроме того, НИКОГДА НЕ БУДЕТ СДЕЛАНО , поэтому я даже не собираюсь объяснять, как это можно сделать.Просто: НИКОГДА НЕ ДЕЛАЙТЕ ЭТОГО!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...