Basic Usage of time.Sleep()

You can use time.Sleep() to pause your program for a predetermined amount of time, similar to most programming languages.

First, you should know that the time package has useful constants that allow you to conveniently specify time in units.

1
2
3
4
5
6
7
8
const (
	Nanosecond  Duration = 1
	Microsecond          = 1000 * Nanosecond
	Millisecond          = 1000 * Microsecond
	Second               = 1000 * Millisecond
	Minute               = 60 * Second
	Hour                 = 60 * Minute
)

They’re accessed with the time.<Constant> notation. (e.g. time.Second)

You can use these constants with the time.Sleep() function. For example, if we want to pause execution for 1 second, we can write the following code:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
package main

import (
	"fmt"
	"time"
)

func main() {
	fmt.Println("one second will pass between this message...")
	time.Sleep(time.Second)
	fmt.Println("...and this message")
}

We can do some multiplication with time.Second to pause a program for 30 seconds:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
package main

import (
	"fmt"
	"time"
)

func main() {
	fmt.Println("30 seconds will pass between this message...")
	time.Sleep(time.Second * 30)
	fmt.Println("...and this message")
}

You can do multiplication with all of the other constants mentioned as well.

Examples

Here are some more examples using the other constants.

Sleep for 500 milliseconds

1
2
3
4
5
6
7
8
9
package main

import (
	"time"
)

func main() {
	time.Sleep(time.Millisecond * 500)
}

Sleep for 10 seconds

1
2
3
4
5
6
7
8
9
package main

import (
	"time"
)

func main() {
	time.Sleep(time.Second * 10)
}

Sleep for 5 minutes

1
2
3
4
5
6
7
8
9
package main

import (
	"time"
)

func main() {
	time.Sleep(time.Minute * 5)
}

Sleep for 2 hours

Not really sure why you would use this, but just know it’s possible.

1
2
3
4
5
6
7
8
9
package main

import (
	"time"
)

func main() {
	time.Sleep(time.Hour * 2)
}

References

My main motivation for writing this is that I think the official documentation is way too dense and doesn’t show several examples of time.Sleep(). I just needed some examples to understand the syntax and move on with my day.