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
Sign up and earn $1000 a day ⋙

Leave a Comment

Cómo usar constantes en Golang

Cómo usar constantes en Golang

¿Qué es Constante o Const en Golang? Esto es lo que necesita saber sobre el uso de constantes en Go.

Funciones volátiles en Golang

Funciones volátiles en Golang

Las funciones variádicas en Go le permiten pasar una cantidad variable de argumentos a una función. Aquí encontrará todo lo que necesita saber sobre las funciones volátiles en Golang.

Parámetros de retorno con nombre en Golang

Parámetros de retorno con nombre en Golang

En Golang, los parámetros de retorno con nombre a menudo se denominan parámetros con nombre. Golang permite nombrar los parámetros de retorno o los resultados de las funciones en la firma o definición de la función.

Palabras clave en Go

Palabras clave en Go

Palabra clave: Las palabras clave son palabras en un lenguaje que se utilizan para algún proceso interno o representan alguna acción predefinida. Aquí tienes lo que necesitas saber sobre las palabras clave en Golang.

Tipos de datos en Golang

Tipos de datos en Golang

El tipo de datos especifica el tipo de datos que puede contener una variable Go válida. En el lenguaje Go, los tipos se dividen en cuatro categorías como sigue:

Argumentos de función en Golang

Argumentos de función en Golang

Go admite dos formas principales de pasar argumentos: pasar por valor y pasar por referencia. Go utiliza el paso por valor de manera predeterminada.

Función que devuelve múltiples valores en Golang

Función que devuelve múltiples valores en Golang

En el lenguaje Go, se permite devolver múltiples valores de una función, utilizando la declaración de retorno. En otras palabras, en una función, una declaración de retorno puede devolver múltiples valores.

Sentencia Switch en Go

Sentencia Switch en Go

Golang, como la mayoría de los otros lenguajes de programación, tiene una declaración switch. Aquí se explica cómo utilizar la declaración switch en Golang.

Casos a conocer al utilizar sentencias de selección en Golang

Casos a conocer al utilizar sentencias de selección en Golang

En este artículo, aprenderemos cómo utilizar el caso predeterminado para evitar el bloqueo. Pero primero, ¿averigüemos qué es el caso de bloqueo cuando se utiliza el comando de selección de Golang?

Estructuras y campos anónimos en Golang

Estructuras y campos anónimos en Golang

Las estructuras anónimas en Golang son estructuras temporales sin nombre que se utilizan para fines únicos, mientras que los campos anónimos permiten la incorporación de campos sin nombre.

Cómo usar Runas en Golang

Cómo usar Runas en Golang

¿Qué son las Runas en Golang? ¿Cómo usar Runas en Golang? El artículo te dirá la respuesta.

Cómo usar operadores en Golang

Cómo usar operadores en Golang

Los operadores nos permiten realizar diferentes tipos de operaciones sobre los operandos. En el lenguaje Go, los operadores se pueden clasificar según sus diferentes funciones.

Identificador nulo en Golang

Identificador nulo en Golang

_(guión bajo) en Golang se llama Identificador en blanco. El identificador es un nombre definido por el usuario de los componentes del programa que se utiliza con fines de identificación.

Cómo crear un programa básico en Golang

Cómo crear un programa básico en Golang

¡Hola Mundo! es el primer programa básico en cualquier lenguaje de programación. Puedes escribir este primer programa en Golang siguiendo los pasos a continuación.

Cómo instalar Go en Windows

Cómo instalar Go en Windows

Golang se puede instalar fácilmente en Windows. A continuación se muestra una guía detallada paso a paso para instalar Golang en Windows.

Diferencia entre un televisor normal y un Smart TV

Diferencia entre un televisor normal y un Smart TV

Los televisores inteligentes realmente han conquistado el mundo. Con tantas funciones excelentes y conectividad a Internet, la tecnología ha cambiado la forma en que vemos televisión.

¿Por qué el congelador no tiene luz pero el refrigerador sí?

¿Por qué el congelador no tiene luz pero el refrigerador sí?

Los refrigeradores son electrodomésticos familiares en los hogares. Los refrigeradores suelen tener 2 compartimentos, el compartimento frío es espacioso y tiene una luz que se enciende automáticamente cada vez que el usuario lo abre, mientras que el compartimento congelador es estrecho y no tiene luz.

2 maneras de solucionar la congestión de la red que ralentiza el Wi-Fi

2 maneras de solucionar la congestión de la red que ralentiza el Wi-Fi

Las redes Wi-Fi se ven afectadas por muchos factores más allá de los enrutadores, el ancho de banda y las interferencias, pero existen algunas formas inteligentes de mejorar su red.

Cómo degradar de iOS 17 a iOS 16 sin perder datos usando Tenorshare Reiboot

Cómo degradar de iOS 17 a iOS 16 sin perder datos usando Tenorshare Reiboot

Si quieres volver a iOS 16 estable en tu teléfono, aquí tienes la guía básica para desinstalar iOS 17 y pasar de iOS 17 a 16.

¿Qué le pasa al cuerpo cuando comes yogur todos los días?

¿Qué le pasa al cuerpo cuando comes yogur todos los días?

El yogur es un alimento maravilloso. ¿Es bueno comer yogur todos los días? Si comes yogur todos los días, ¿cómo cambiará tu cuerpo? ¡Descubrámoslo juntos!

¿Qué tipo de arroz es mejor para la salud?

¿Qué tipo de arroz es mejor para la salud?

Este artículo analiza los tipos de arroz más nutritivos y cómo maximizar los beneficios para la salud del arroz que elija.

Cómo despertarse a tiempo por la mañana

Cómo despertarse a tiempo por la mañana

Establecer un horario de sueño y una rutina para la hora de acostarse, cambiar el despertador y ajustar la dieta son algunas de las medidas que pueden ayudarle a dormir mejor y despertarse a tiempo por la mañana.

Consejos para jugar a Rent Please! Simulación de propietario para principiantes

Consejos para jugar a Rent Please! Simulación de propietario para principiantes

¡Alquiler por favor! Landlord Sim es un juego de simulación para dispositivos móviles iOS y Android. Jugarás como propietario de un complejo de apartamentos y comenzarás a alquilar un apartamento con el objetivo de mejorar el interior de tus apartamentos y prepararlos para los inquilinos.

Últimos códigos de defensa de torres para baños y cómo introducirlos

Últimos códigos de defensa de torres para baños y cómo introducirlos

Obtén el código del juego Bathroom Tower Defense de Roblox y canjéalo por emocionantes recompensas. Te ayudarán a mejorar o desbloquear torres con mayor daño.

Estructura, símbolos y principios de funcionamiento de los transformadores

Estructura, símbolos y principios de funcionamiento de los transformadores

Aprendamos la estructura, los símbolos y los principios de funcionamiento de los transformadores de la forma más precisa.

4 maneras en que la IA está mejorando los televisores inteligentes

4 maneras en que la IA está mejorando los televisores inteligentes

Desde una mejor calidad de imagen y sonido hasta control por voz y más, ¡estas funciones impulsadas por IA hacen que los televisores inteligentes sean mucho mejores!

Por qué ChatGPT es mejor que DeepSeek

Por qué ChatGPT es mejor que DeepSeek

Al principio, la gente tenía grandes esperanzas en DeepSeek. Como chatbot de IA comercializado como un fuerte competidor de ChatGPT, promete capacidades y experiencias de chat inteligentes.

Conoce Fireflies.ai: La secretaria con IA gratuita que te ahorra horas de trabajo

Conoce Fireflies.ai: La secretaria con IA gratuita que te ahorra horas de trabajo

Es fácil pasar por alto detalles importantes cuando se anotan otros elementos esenciales, y tratar de tomar notas mientras se chatea puede ser una distracción. Fireflies.ai es la solución.

Cómo criar Ajolote en Minecraft, domesticar Salamandra en Minecraft

Cómo criar Ajolote en Minecraft, domesticar Salamandra en Minecraft

Axolot de Minecraft será un gran asistente para los jugadores cuando trabajen bajo el agua si saben cómo usarlos.

Configuración del juego para PC A Quiet Place: The Road Ahead

Configuración del juego para PC A Quiet Place: The Road Ahead

La configuración de A Quiet Place: The Road Ahead tiene una calificación bastante alta, por lo que deberás tener en cuenta la configuración antes de decidir descargarla.