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.

Cómo recuperar el acceso al disco duro, solucionar el error de no poder abrir el disco duro

Cómo recuperar el acceso al disco duro, solucionar el error de no poder abrir el disco duro

En este artículo, te guiaremos sobre cómo recuperar el acceso a tu disco duro cuando falla. ¡Sigamos!

Cómo usar Conversation Awareness y Live Listen en los AirPods

Cómo usar Conversation Awareness y Live Listen en los AirPods

A primera vista, los AirPods parecen iguales a cualquier otro auricular inalámbrico. Pero todo cambió cuando se descubrieron algunas características poco conocidas.

Todo sobre iOS 26

Todo sobre iOS 26

Apple ha presentado iOS 26, una importante actualización con un nuevo diseño de vidrio esmerilado, experiencias más inteligentes y mejoras en aplicaciones conocidas.

Las mejores computadoras portátiles para estudiantes en 2025

Las mejores computadoras portátiles para estudiantes en 2025

Los estudiantes necesitan un tipo específico de portátil para sus estudios. No solo debe ser lo suficientemente potente como para desempeñarse bien en su especialidad, sino también lo suficientemente compacto y ligero como para llevarlo consigo todo el día.

Cómo agregar una impresora a Windows 10

Cómo agregar una impresora a Windows 10

Agregar una impresora a Windows 10 es sencillo, aunque el proceso para dispositivos con cable será diferente al de los dispositivos inalámbricos.

Cómo comprobar la RAM y detectar errores de RAM en tu ordenador con la mayor precisión

Cómo comprobar la RAM y detectar errores de RAM en tu ordenador con la mayor precisión

Como sabes, la RAM es un componente de hardware muy importante en una computadora, ya que actúa como memoria para procesar datos y es el factor que determina la velocidad de una laptop o PC. En el siguiente artículo, WebTech360 te presentará algunas maneras de detectar errores de RAM mediante software 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.