Golang : Timeout example
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 (
"fmt"
"time"
)
func main() {
c := make(chan bool, 1)
go func() {
select {
case m := <-c:
// do something
handle(m)
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)
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.
Advertisement
Tutorials
+16.3k Golang : Upload/Receive file progress indicator
+20.3k Golang : Use TLS version 1.2 and enforce server security configuration over client
+14.4k Golang : How to reverse elements order in map ?
+6.2k Golang : Getting Echo framework StartAutoTLS to work
+8.2k Golang : ffmpeg with os/exec.Command() returns non-zero status
+9.3k Golang : Select region of interest with mouse click and crop from image
+37.9k Golang : UDP client server read write example
+4.3k Unix/Linux/MacOSx : How to remove an environment variable ?
+4.3k Unix/Linux : How to archive and compress entire directory ?
+11.2k Golang : Sort and reverse sort a slice of bytes
+12.8k Golang : Send email with attachment(RFC2822) using Gmail API example
+7.3k Golang : Convert word to its plural form example