Напишете функцию sleep, которая заставляет программу «спать» заданное время. Но иногда жизнь вмешивается — и сон нужно прервать раньше.
Функция должна:
- Заснуть на указанное время.
- Прекратить сон, если ей скажут через context.Context.
Напишете функцию sleep, которая заставляет программу «спать» заданное время. Но иногда жизнь вмешивается — и сон нужно прервать раньше.
Функция должна:
package main
import (
“context”
“time”
)func sleep(ctx context.Context, duration time.Duration) error {
timer := time.NewTimer(duration)
defer timer.Stop()select {
case <-timer.C: return nil // Время вышло case <-ctx.Done(): return ctx.Err() // Прервано } }
Leave a Reply