Golang program to implement the timer with go function

Here, we are going to learn how to implement the timer with go function in Golang (Go Language)?
Submitted by Nidhi, on April 28, 2021

Problem Solution:

Here, we will implement a timer for 3 seconds using time.NewTimer() function and received notification in a go function then we can some other activities before finishing timer.

Program/Source Code:

The source code to implement the timer with the go function is given below. The given program is compiled and executed on the ubuntu 18.04 operating system successfully.

// Golang program to implement timer
// with go function

package main

import "log"
import "time"

func main() {
	// Start timer for 3 seconds
	MyTimer := time.NewTimer(3 * time.Second)

	log.Println("Timer Started")

	go func() {
		// Notification recived when timer gets in-activated.
		<-MyTimer.C

		// Printed when timer is fired
		log.Println("Timer finished")
	}()

	log.Println("During timer")

	time.Sleep(5 * time.Second)
}

Output:

2021/04/28 22:29:02 Timer Started
2021/04/28 22:29:02 During timer
2021/04/28 22:29:05 Timer finished

Explanation:

In the above program, we declare the package main. The main package is used to tell the Go language compiler that the package must be compiled and produced the executable file. Here, we imported the required packages to predefined functions.

In the main() function, we created a timer using time.NewTimer() function for 3 seconds and created a go function to wait for the notification of timer using the created channel. After that, we printed the message before finishing the timer. Here, we user timer.Sleep() function to hold the execution of the program to finish the timer.

Golang Timers & Tickers Programs »






Comments and Discussions




Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.