Use time.After instead of time.Sleep