función time.NewTicker() en Golang con ejemplos

En el lenguaje Go, los paquetes de tiempo brindan funcionalidad para determinar y ver el tiempo. La función NewTicker() en el lenguaje Go se usa para generar un nuevo Ticker que contiene un canal para transmitir el tiempo con un período establecido por el parámetro de duración. Es útil para establecer los intervalos o eliminar las marcas del ticker para compensar a los destinatarios lentos. Aquí, la duración ‘d’ debe ser mayor que cero, de lo contrario se producirá un error de pánico. Y puede terminar el ticker usando el método Stop() para liberar los recursos relacionados. Además, esta función se define en el paquete de tiempo. Aquí, debe importar el paquete «tiempo» para usar estas funciones.

Sintaxis:

func NewTicker(d Duration) *Ticker

Aquí, «d» es la duración y *Ticker es un puntero al Ticker. Donde, el Ticker se usa para mantener un canal que proporciona ‘ticks’ de un reloj a intervalos.

Valor devuelto: Devuelve un nuevo Ticker que incluye un canal.

Ejemplo 1:

// Golang program to illustrate the usage of
// time.NewTicker() function
  
// Including main package
package main
  
// Importing fmt and time
import "fmt"
import "time"
  
// Calling main
func main() {
  
    // Calling NewTicker method
    d := time.NewTicker(2 * time.Second)
  
    // Creating channel using make
    // keyword
    mychannel := make(chan bool)
  
    // Calling Sleep() methpod in go
    // function
    go func() {
        time.Sleep(7 * time.Second)
  
        // Setting the value of channel
        mychannel <- true
    }()
  
    // Using for loop
    for {
  
        // Select statement
        select {
  
        // Case statement
        case <-mychannel:
            fmt.Println("Completed!")
            return
  
        // Case to print current time
        case tm := <-d.C:
            fmt.Println("The Current time is: ", tm)
        }
    }
}

Producción:

The Current time is:  2020-04-08 14:54:20.143952489 +0000 UTC m=+2.000223531
The Current time is:  2020-04-08 14:54:22.143940032 +0000 UTC m=+4.000211079
The Current time is:  2020-04-08 14:54:24.143938623 +0000 UTC m=+6.000209686
Completed!

Aquí, for loop se usa para imprimir el tiempo actual hasta que se detiene el ciclo y este tiempo se imprime después de un intervalo regular que es después de un «tick» como se especifica en el código. Y aquí son 2 segundos. Por lo tanto, la hora actual se imprime arriba después de un intervalo regular de 2 segundos. Aquí, el ticker debe detenerse después de tres veces ya que el límite es de 7 segundos y solo queda 1 segundo después del tercer tick.

Publicación traducida automáticamente

Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *