Golang : Timeout example

Tags : golang time-sleep time-out time-after delay

It is important for programs to know when to abort when connecting to external resources. One such example is the net.DialTimeout() function and if you looking to implement timeout feature in Golang, it is pretty easy with channels and select.

This code example below simulates a situation when a timeout occurred.

 package main

 import (

 func main() {
  c := make(chan bool, 1)

  go func() {
 select {
 case m := <-c:
 // do something
 case <-time.After(3 * time.Second):
 fmt.Println("timed out")

  time.Sleep(5 * time.Second)

 func handle(m bool) {}

References :


  See also : Golang : Call a function after some delay(time.Sleep and Tick)

Tags : golang time-sleep time-out time-after delay

By Adam Ng

IF you gain some knowledge or the information here solved your programming problem. Please consider donating to the less fortunate or some charities that you like. Apart from donation, planting trees, volunteering or reducing your carbon footprint will be great too.