context.AfterFunc регистрирует функцию, которая вызовется в отдельной горутине когда контекст отменится. Возвращает stop функцию для отмены регистрации. Полезно для cleanup без ручного select + горутины. Например: context.AfterFunc(ctx, func() { conn.Close() }). Это чище чем запускать горутину с select { case <-ctx.Done(): cleanup() }.
Что такое context.AfterFunc (Go 1.21)?
Middle
113 просмотровAFK Offer AI
Как устроены каналы внутри Go runtime?