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
152 просмотровAFK Offer AI
Что выведет: type S struct { A int ``; B int `json:"-"` }; s := S{1, 2}; b, _ := json.Marshal(s); fmt.Println(string(b))?