Какие функции для контекста появились в Go 1.21?

Ответ

Go 1.21: context.WithCancelCause(parent) - отмена с причиной (cause). context.Cause(ctx) - получить причину отмены. cancel(cause) сохраняет cause; Cause(ctx) возвращает эту причину или ctx.Err(). Удобно для каскадной отмены с причиной.

ctx, cancel := context.WithCancelCause(parent)
cancel(errMyReason)
err := context.Cause(ctx)
🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.