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

En el lenguaje Go, los paquetes de tiempo brindan funcionalidad para determinar y ver el tiempo. La función After() en el lenguaje Go se usa para esperar a que transcurra el tiempo y luego entrega el tiempo real en el canal devuelto . Además, esta función se define en el paquete de tiempo . Aquí, debe importar el paquete «tiempo» para poder usar estas funciones.

Sintaxis:

func After(d Duration) <-chan Time

Aquí, d es la duración del tiempo antes del tiempo de espera y chan es el canal donde se envía la hora actual.

Valor devuelto: Primero espera el tiempo indicado y luego muestra el tiempo de espera.

Ejemplo 1:

// Golang program to illustrate the usage of
// After() function in Golang
  
// Including main package
package main
  
// Importing fmt and time
import (
    "fmt"
    "time"
)
  
// Creating a channel
// Using var keyword
var ch chan int
  
// Main function
func main() {
  
    // For loop
    for i := 1; i < 6; i++ {
  
        // Prints these util loop stops
        fmt.Println("****Welcome to GeeksforGeeks***")
        fmt.Println("A CS-Portal!")
    }
  
    // Select statement
    select {
  
    // Using case statement to receive
    // or send operation on channel and
    // calling After() method with its
    // parameter
    case <-time.After(3 * time.Second):
  
        // Printed when timed out
        fmt.Println("Time Out!")
    }
}

Producción:

****Welcome to GeeksforGeeks***
A CS-Portal!
****Welcome to GeeksforGeeks***
A CS-Portal!
****Welcome to GeeksforGeeks***
A CS-Portal!
****Welcome to GeeksforGeeks***
A CS-Portal!
****Welcome to GeeksforGeeks***
A CS-Portal!
Time Out!    // Displayed after 3 seconds as mentioned in the above code

En el ejemplo anterior, hemos utilizado la instrucción «case» debajo de la instrucción select para enviar la operación en el canal. Además, aquí se mostrará el tiempo de espera después de 3 segundos de la ejecución del ciclo for.

Ejemplo 2:

// Golang program to illustrate the usage of
// After() function in Golang
  
// Including main package
package main
  
// Importing fmt and time
import (
    "fmt"
    "time"
)
  
// Main function
func main() {
  
    // Creating a channel
    // Using make keyword
    channel := make(chan string, 2)
  
    // Select statement
    select {
  
    // Using case statement to receive
    // or send operation on channel
    case output := <-channel:
        fmt.Println(output)
  
    // Calling After() method with its
    // parameter
    case <-time.After(5 * time.Second):
  
        // Printed after 5 seconds
        fmt.Println("Its timeout..")
    }
}

Producción:

Its timeout..

Aquí, hemos usado la palabra clave «hacer» para crear un canal, luego, como en el ejemplo anterior, aquí también se usa la declaración de caso bajo una declaración de selección, pero aquí se usa dos veces. El primero se usa para devolver la salida y el segundo se usa para llamar al método After() en el canal. Después de esto, el tiempo de espera se muestra en el tiempo indicado.

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 *