У меня есть переменная VERSION
в замыкающий файл, который устанавливает версию для двоичного файла во время компиляции с помощью -ldflags
Получение переменных файла make в пакете go?
VERSION = $(strip $(TIMESTAMP))
LDFLAGS = -ldflags "-X main.buildTime $(BUILD_TIME) -X main.buildNumber $(VERSION)"
Теперь я хочу, чтобы получить версию в пакете, который не является main
и распечатать его. Я попробовал кучу вариантов, но не смог заставить его работать.
Мой вопрос: как я могу получить его в пакете, а затем распечатать его клиенту во время выполнения, например you are connected to app version 2.0
.. ??
Вы должны каким-то образом предоставить версию. Если это не 'пакет main', вам нужно импортировать пакет и прочитать переменную. – JimB
так что ldflags устанавливают переменные в основном пакете 'main.buildTime' и т. Д., И я не могу импортировать main, поэтому я попытался установить его с другим пакетом, но почему-то все еще не работал, я получаю пустую строку :( – Varun
Если вы 're установка переменной в main, она существует только по мере того, как вы устанавливаете ее в финальном двоичном файле, поэтому сделайте двоичный вывод версии со специальным флагом. Что касается «установки его другим пакетом», вам нужно будет показать например, потому что я не знаю, что вы имеете в виду. – JimB