起動してから、指定された処理を「s秒ごと」のように固定間隔で実行し続ける、というワーカー的なプログラムを考える。 何も考慮しない場合 最も原始的には以下のように time.Ticker を使ってループし続ければ良い。 type Worker struct { interval time.Duration task func(context.Context) } func NewWorker(interval time.Duration, task func(context.Context)) *Worker { return &Worker{ interval: interval, task: task, } } func (w *Worker) Start(ctx context.Context) { ticker := time.NewTicker(w.interval) defer

