@Multigame

Golang и как создать глобальную переменную?

Дано минимальный http-сервер, листенер(net.Listener) запускается в main пакете. Теперь хочется сделать так что-бы по вызову определенного url сервер останавливался, т.е. вызывался listener.stop()

Окей, делаем http.HandleFunc. В хендлер(лежит в другом пакете) уходит 2 переменных - респонсер и реквест, никаких ссылок на main. Вопрос - Как дотянуться до листенера в main-пакете?

Вопрос не о том, как извернуться в данном случае. Понятно что можно хендлер разместить в том же пакете и спокойно дернуть функцию остановки, вероятно можно вынести листенер из мэйна в отдельный пакет, который можно будет дернуть из пакете хендлера и опять же дотянуться до метода остановки.
Вопрос собственно сводится к тому, как передать "команду" (вызов функции) в main-пакет из других пакетов?
  • Вопрос задан
  • 376 просмотров
Пригласить эксперта
Ответы на вопрос 2
Создавайте в функции main канал и передавайте его в хендлер при создании последнего.
Вы сможете читать из канала в main и писать в него из пакета хендлера и наоборот.
Ответ написан
@rustler2000
погромист сикраш
Добавить к запросу Context и передать в нем Server?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 02:11
5000 руб./за проект
01 мая 2024, в 00:29
2000 руб./за проект
01 мая 2024, в 00:20
15000 руб./за проект