Как запустить и передать параметр командной строки main.go в GoLand?

Я пытаюсь запустить приложение Go с IDE GoLand от JetBrains. Я просто хочу запустить такую ​​команду:

$ go run main.go service.go

Не могли бы вы рассказать, как настроить в панели «Редактировать конфигурацию»? Я пытался установить «Программные аргументы», но это не сработало.

введите описание изображения здесь


person yagu    schedule 16.01.2019    source источник
comment
Вы правильно передаете аргументы. Ваш код запускается, если вы выполняете go run main.go sub.go (или любой другой правильный аргумент) в интерфейсе командной строки? Мне кажется странным, что аргумент имеет суффикс .go и заставляет меня думать, что вы, возможно, пытаетесь запустить приложение неправильно.   -  person Endophage    schedule 16.01.2019
comment
Да, когда я сделал go run main.go service.go. он работает правильно.   -  person yagu    schedule 16.01.2019
comment
@Flimzy, это на самом деле неправда. Команда go run предназначена для составления списка файлов и не работает, если не указан какой-либо файл (по крайней мере, с текущим выпуском 1.11).   -  person dlsniper    schedule 16.01.2019
comment
Вы правы, вы должны указывать пакет, а не отдельные файлы. Я обновил свой комментарий.   -  person Flimzy    schedule 16.01.2019
comment
Это не отвечает на ваш вопрос, но если вам нужно передать определенные файлы в командной строке go run, ваш пакет плохо / неправильно спроектирован. Вы должны иметь возможность запускать просто go run ..   -  person Flimzy    schedule 16.01.2019


Ответы (2)


Если вам нужно указать несколько файлов для конфигурации сборки, вы можете либо использовать поле «Файлы», чтобы добавить больше файлов для компиляции, либо изменить «Тип запуска» на «Пакет» из текущего «Файл».

Поле «Program arguments» используется для аргументов конечной программы, а не инструмента go.

person dlsniper    schedule 16.01.2019
comment
Ага, звучит правильно. Прошло много времени с тех пор, как мне приходилось иметь дело с этим. Стоит привести пример, использующий контекст вопроса. Например. Files следует обновить, чтобы удалить main.go и просто указать на пакет, а Program arguments следует оставить пустым. - person Endophage; 19.01.2019

Я не знал, что можно указать несколько файлов в поле «Файлы». После того, как я указал несколько файлов в поле «Файлы», все готово! Большое спасибо.

введите описание изображения здесь

person yagu    schedule 16.01.2019