En el lenguaje Go, los paquetes de tiempo brindan funcionalidad para determinar y ver el tiempo. La función Tick() en el lenguaje Go es un contenedor de utilidades para la función NewTicker . Solo permite el acceso al canal de ticking. Además, Tick es beneficioso para los clientes que no necesitan apagar Ticker. Y el método Tick devuelve cero si la duración indicada es menor o igual a 0. Además, esta función se define en el paquete de tiempo. Aquí, debe importar el paquete «tiempo» para usar estas funciones.
Sintaxis:
func Tick(d Duration) <-chan Time
Aquí, d es la duración del tiempo para que el ticker marque, y chan es el canal de tictac.
Nota: Los teletipos se utilizan para hacer algo con frecuencia a intervalos regulares del tiempo indicado.
Valor de retorno: Devuelve la fecha actual y la hora real después de un intervalo de tiempo regular. Y devuelve cero si d <= 0.
Ejemplo 1:
// Golang program to illustrate the usage of // Tick() function // Including main package package main // Importing fmt and time import ( "fmt" "time" ) // Defining UTCtime func UTCtime() string { return "" } // Main function func main() { // Calling Tick method // using range keyword for tick := range time.Tick(3 * time.Second) { // Prints UTC time and date fmt.Println(tick, UTCtime()) } }
Producción:
2020-04-02 03:16:22.27131713 +0000 UTC m=+3.000249815 2020-04-02 03:16:25.271334601 +0000 UTC m=+6.000267330 2020-04-02 03:16:28.271312516 +0000 UTC m=+9.000245191 2020-04-02 03:16:31.271369788 +0000 UTC m=+12.000302595 2020-04-02 03:16:34.271309254 +0000 UTC m=+15.000241952 2020-04-02 03:16:37.271324182 +0000 UTC m=+18.000256858 2020-04-02 03:16:40.271322789 +0000 UTC m=+21.000255504 2020-04-02 03:16:43.271295568 +0000 UTC m=+24.000228305......so on
Aquí, hemos usado la palabra clave range para iterar sobre el canal. Aquí, la fecha y la hora actuales se devuelven después de un intervalo de tiempo regular. Entonces, la salida es diferente en diferentes ejecuciones. Y aquí el ciclo no se detiene hasta que lo terminas.
Ejemplo 2:
// Golang program to illustrate the usage of // Tick() function // Including main package package main // Importing fmt and time import ( "fmt" "time" ) // Defining UTCtime func UTCtime() string { return "" } // Main function func main() { // Calling Tick method using range // keyword for tick := range time.Tick(-1 * time.Second) { // Prints UTC time and date fmt.Println(tick, UTCtime()) } }
Producción:
fatal error: all goroutines are asleep - deadlock! goroutine 1 [chan receive (nil chan)]: main.main() /home/runner/SociableInsubstantialCommunication/main.go:23 +0x149
Aquí, en el código anterior, la duración indicada es negativa, por lo que se devuelve cero y se produce el error.
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA