Разница между value receiver и pointer receiver При использовании value receiver метод получает копию значения структуры С pointer receiver метод получает указатель на исходную структуру Изменения внутри метода с…
пакет для управления временем жизни операций передаёт таймауты, дедлайны и сигналы отмены обеспечивает распространение отмены между goroutines содержит кросс-сервисные метаданные (trace-id, auth) позволяет выполнять…
Зачем нужен контекст в gRPC-запросах и что происходит после его отмены Контекст как инструмент управления жизненным циклом запроса в Go Передача дедлайнов, сигналов отмены и метаданных между клиентом и сервером…
Зачем нужны State Manager и Контекст, если можно использовать обычные переменные? состояние управляется централизованно и предсказуемо локальные переменные не подходят для сложных связей между компонентами снижается…
Зачем нужны методы call, apply и bind в JavaScript? Позволяют явно задавать контекст выполнения функции (this) call: запускает функцию, получая аргументы через запятую apply: запускает функцию, принимая аргументы…
Как в Go обрабатываются nil и вызовы методов на nil-ресивере nil в Go служит нулевым значением для указателей, интерфейсов, слайсов, карт, каналов и функций У метода может быть ресивер-указатель, значение которого в…
Как в Go реализовать graceful shutdown с defer, контекстом и обработкой ошибок в группах горутин? управлять завершением приложения через context.Context (cancel/cancellation) применять defer для освобождения ресурсов,…
Работа со слайсами (Go slices) Удаление элемента по индексу Для этого объединяют два подслайса: s = append(s[:i], s[i+1:]...) В результате формируется новый слайс без элемента с индексом i, а его длина уменьшается.…
** контролируйте длительность операций в Go через context, задавая таймаут и отмену с помощью context.WithTimeout и Done(). Это позволяет ограничивать время выполнения и корректно освобождать ресурсы.
Как корректно отменять горутины, выполняющие долгие операции? для управления долгими горутинными операциями в Go используется контекст следует применять context.Context вместе с отменой (CancelFunc) context нужно…
Как эффективнее использовать память в Go? управление памятью при работе горутин и стека: Go применяет динамический стек, благодаря чему уменьшаются накладные расходы эффективное использование срезов и массивов:…
Как остановить несколько воркеров с помощью общего контекста? многопоточность и управление жизненным циклом создать единый контекст отмены (например, context.WithCancel в Go) передать этот контекст всем воркерам…