Ticker никогда не останавливается — goroutine и ticker утекают. Даже если process вернётся (что невозможно — бесконечный цикл), ticker.Stop() не вызван. Правильно: defer ticker.Stop(), и выход по ctx.Done() или done channel. Также time.Tick() утекает всегда — нет способа остановить, используй только в main или тестах.
Найди утечку: func process() { ticker := time.NewTicker(time.Second); for range ticker.C { doWork() } }
Middle
120 просмотровAFK Offer AI
Как помочь компилятору инлайнить?