TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • flag Russian
    Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
Golang

7 May 2024, 15:04

Открыть в Telegram Поделиться Пожаловаться

👣 Автоматическая компиляция Go проекта при изменении файлов

⏩Go является компилируемым языком программирования. Вследствие чего необходимо запускать компиляцию всякий раз, когда хочется посмотреть, как это отразилось на программе.

⏩Чтобы автоматизировать это, можно использовать пакет modd:
go install github.com/cortesi/modd/cmd/modd@latest
(пакет будет скачен в ~/golang/packages/bin, как обычно)

⏩Далее в корне проекта создадим файл modd.conf со следующим содержимым:
# Проверка всех тестов при первой запуске
**/*.go {
prep: go test @dirmods
}

# Автоматическая компиляция проекта при изменении файлов
# Исключает все тестовые файлы *_test.go
**/*.go !**/*_test.go {
prep: go build -o ./bin ./cmd/main.go
daemon +sigterm: ./bin
}
При первом запуске modd пакета будут проверены все имеющиеся тесты. Далее уже идет непосредственно настройки слежения за изменением файлов.
В данном случае мы следим за изменением всех файлов с расширением .go, кроме тестовых. При изменении содержимого какого либо go-файла будет происходить перекомпиляция всего проекта.

⏩Строкой prep: go build -o ./bin ./cmd/main.go мы говорим, чтобы компилировался файл ./cmd/main.go, а результат его компиляции был помещен в каталоге ./bin.

⏩Строкой daemon +sigterm: ./bin мы автоматически запускаем скомпилированный файл, в результате чего отобразится актуальный результат.

⏩Чтобы запустить режим слежения за изменением файлов, достаточно ввести в терминале: modd
Иногда могут возникнуть случаи при которых вы будете ожидать перекомпиляцию, но она не произойдет. Например, при какой-либо серьезной ошибки в программе. Решается очевидным образом: Ctrl + C и по новой запускаем modd.

@Golang_google

6.8k 2 90 5 41
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot