Aplazar la palabra clave en Golang

En Go, las declaraciones de diferimiento retrasan la ejecución de una función o método o un método anónimo hasta que las funciones cercanas regresen. En otras palabras, los argumentos para diferir funciones o métodos se evalúan inmediatamente, pero no se ejecutan hasta que las funciones cercanas regresan. Puede crear un método diferido, una función o una función anónima utilizando la palabra clave defer.

Aplazar la palabra clave en Golang

Sintaxis:

// Hàm
defer func func_name(parameter_list Type)return_type{
// Code
}

// Phương thức
defer func (receiver Type) method_name(parameter_list){
// Code
}

defer func (parameter_list)(return_type){
// code
}()

Nota importante:

  • En el lenguaje Go, se permiten múltiples declaraciones defer en el mismo programa y se ejecutan en orden LIFO (último en entrar, primero en salir) como se muestra en el Ejemplo 2.
  • En las declaraciones de diferimiento, los argumentos se evalúan cuando se ejecuta la declaración de diferimiento, no cuando se la llama.
  • Las declaraciones de aplazamiento se utilizan a menudo para garantizar que los archivos se cierren cuando finaliza su necesidad, o para cerrar canales, o para detectar problemas en el programa.

Ahora veamos un ejemplo para entenderlo mejor.

Ejemplo 1:

// Chương trình Go minh họa
// khái niệm của lệnh defer
package main

import "fmt"

// Các hàm
func mul(a1, a2 int) int {

	res := a1 * a2
	fmt.Println("Result: ", res)
	return 0
}

func show() {
	fmt.Println("Hello!, Quantrimang.com")
}

// Hàm chính
func main() {

	// Gọi hàm mul() 
	// Tại đây hàm mul hoạt động
	// như một hàm bình thường
	mul(23, 45)

	// Gọi hàm mul()
	// Dùng từ khóa defer 
	// Hàm the mul() 
	// là hàm defer
	defer mul(23, 56)

	// Gọi hàm show() 
	show()
}

Resultado:

Result:  1035
Hello!, Quantrimang.com
Result:  1288

Explicación: En el ejemplo anterior, tenemos dos funciones llamadas mul() y show() . Mientras que la función show() se llama normalmente en la función main() , la función mul() se llama de dos maneras diferentes:

  • Primero, llamamos a la función mul normalmente (sin la palabra clave defer), es decir, mul(23, 45) y se ejecuta cuando se llama a la función (Salida: Resultado: 1035).
  • En segundo lugar, llamamos a la función mul() como una función defer usando la palabra clave defer, es decir, defer mul(23, 56) y se ejecuta (Salida: Resultado: 1288) cuando todos los métodos circundantes retornan.

Ejemplo 2:

// Minh họa chương trình Go
// dùng nhiều lệnh defer, để minh họa chính sách LIFO 
package main

import "fmt"

// Các hàm
func add(a1, a2 int) int {
	res := a1 + a2
	fmt.Println("Result: ", res)
	return 0
}

// Hàm chính
func main() {

	fmt.Println("Start")

	// Nhiều lệnh defer
	// Triển khai theo thứ tự LIFO 
	defer fmt.Println("End")
	defer add(34, 56)
	defer add(10, 10)
}

Resultado:

Start
Result:  20
Result:  90
End

Dejar un comentario

Solución de problemas de actualizaciones de error H en Microsoft Teams

Solución de problemas de actualizaciones de error H en Microsoft Teams

¿Tiene problemas con el Error H de Microsoft Teams durante las actualizaciones? Descubra cómo solucionar el Error H de Microsoft Teams, sus causas comunes y soluciones rápidas para restablecer una colaboración fluida. Actualizado con las últimas soluciones.

Solución de problemas de errores de llavero en Microsoft Teams para Mac

Solución de problemas de errores de llavero en Microsoft Teams para Mac

¿Tienes problemas con el llavero de errores de Microsoft Teams para Mac? Descubre soluciones paso a paso y probadas para macOS y recupera una colaboración fluida. ¡Soluciones rápidas en el interior!

Cómo solucionar el error 1200 de Microsoft Teams en tu teléfono (iOS/Android)

Cómo solucionar el error 1200 de Microsoft Teams en tu teléfono (iOS/Android)

¿Cansado de que el error 1200 de Microsoft Teams bloquee tus llamadas? Descubre soluciones rápidas y paso a paso para iOS y Android y vuelve a trabajar en equipo sin problemas rápidamente, ¡sin necesidad de conocimientos técnicos!

¿Por qué falló mi grabación en Microsoft Teams? Razones comunes

¿Por qué falló mi grabación en Microsoft Teams? Razones comunes

¿Frustrado porque tu grabación de Microsoft Teams falló? Descubre las razones más comunes, como problemas de permisos, límites de almacenamiento y fallos de red, además de soluciones paso a paso para evitar futuros fallos y grabar siempre de forma impecable.

¿Por qué no puedo ver las salas de grupos pequeños en mi reunión de Teams?

¿Por qué no puedo ver las salas de grupos pequeños en mi reunión de Teams?

¿Frustrado porque las salas de reuniones no aparecen en tu reunión de Teams? Descubre las principales razones por las que no puedes verlas en Teams y sigue nuestras soluciones paso a paso para que funcionen correctamente en minutos. ¡Ideal tanto para organizadores como para participantes!

Solución de errores de red de Microsoft Teams en redes Wi-Fi públicas

Solución de errores de red de Microsoft Teams en redes Wi-Fi públicas

¿Tienes problemas con un error de red de Microsoft Teams en una red Wi-Fi pública? Obtén soluciones instantáneas como ajustes de VPN, comprobaciones de puertos y borrado de caché para restaurar llamadas y reuniones sin problemas. Guía paso a paso para una solución rápida.

¿Dónde está la papelera de reciclaje de Microsoft Teams? Cómo recuperar archivos borrados

¿Dónde está la papelera de reciclaje de Microsoft Teams? Cómo recuperar archivos borrados

¿Perdiste archivos importantes en Microsoft Teams? Descubre la ubicación exacta de la Papelera de reciclaje de Microsoft Teams y sigue nuestros pasos comprobados para recuperar archivos eliminados de forma rápida y sencilla, ¡sin necesidad de conocimientos técnicos!

Cómo configurar el estado Fuera de oficina en Microsoft Teams

Cómo configurar el estado Fuera de oficina en Microsoft Teams

Descubre cómo configurar el estado "Fuera de oficina" en Microsoft Teams con sencillos pasos para escritorio, móvil y sincronización con Outlook. Mantén la profesionalidad mientras estás fuera: ¡configuración rápida en minutos!

Dónde encontrar el código QR de Microsoft Teams para iniciar sesión rápidamente en dispositivos móviles

Dónde encontrar el código QR de Microsoft Teams para iniciar sesión rápidamente en dispositivos móviles

Descubre exactamente dónde encontrar el código QR de Microsoft Teams para iniciar sesión móvil ultrarrápido. Guía paso a paso con imágenes para conectarte en segundos, ¡sin necesidad de contraseñas!

Solución del error al unirse a una reunión en Microsoft Teams mediante un enlace directo

Solución del error al unirse a una reunión en Microsoft Teams mediante un enlace directo

¿Tienes problemas con el error al unirte a una reunión de Microsoft Teams? Descubre pasos comprobados para solucionarlo mediante enlaces directos. Soluciones rápidas para unirte sin problemas, ¡sin necesidad de conocimientos técnicos!