Задать вопрос
@Multigame

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

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

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

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

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

Похожие вопросы