Operador de declaración de variable corta en Go

El operador de declaración de variable corta (:=) en Golang se utiliza para crear variables con un nombre único y un valor inicial. El propósito principal de utilizar este operador es declarar e inicializar variables locales dentro de funciones y limitar el alcance de las variables. El tipo de la variable está determinado por el tipo de la expresión. La palabra clave var también se utiliza para crear variables de un tipo específico. Entonces se puede decir que hay dos formas de crear variables en Golang:

Operador de declaración de variable corta en Go

  • Usando la palabra clave var
  • Utilice el operador de declaración de variable corto (:=)

¡Ahora aprendamos a utilizar el operador de declaración de variable corta en Golang!

Contenido principal

Sintaxis para utilizar el operador de declaración de variable corta en Golang

variable_name := biểu thức hoặc giá trị

Aquí, debes inicializar la variable justo después de la declaración. Pero al utilizar la palabra clave var puedes evitar la inicialización en el momento de la declaración. No es necesario mencionar el tipo de variable. La expresión o valor del lado derecho se utiliza para evaluar el tipo de variable.

Por ejemplo: aquí estamos declarando variables utilizando el operador de declaración corta y no especificando el tipo de variable. El tipo de la variable está determinado por el tipo de la expresión en el lado derecho del operador :=.

// Minh họa chương trình Go dùng := (toán tử khai báo ngắn) 
package main

import "fmt"

func main() {

	// khai báo và khởi tạo biến
	a := 30

	// lấy một biến chuỗi
	Language: = "Go Programming"

	fmt.Println("The Value of a is: ", a)
	fmt.Println("The Value of Language is: ", Language)

}

Resultado:

The Value of a is:  30
The Value of Language is:  Go Programming

Declaración de múltiples variables mediante el operador de declaración corta

El operador de declaración corta también se puede utilizar para declarar múltiples variables del mismo tipo o de tipos diferentes en una sola declaración. Los tipos de estas variables se evalúan mediante la expresión en el lado derecho del operador :=.

Por ejemplo:

// Minh họa chương trình Go dùng toán tử khai báo ngắn := short để khai báo nhiều
// biến thành một câu lệnh khai báo duy nhất
package main

import "fmt"

func main() { 

// nhiều biến của cùng kiểu(int)
geek1, geek2, geek3 := 117, 7834, 5685

// nhiều biến của các kiểu khác nhau
geek4, geek5, geek6 := "GFG", 859.24, 1234

// Hiện giá trị và kiểu của biến
fmt.Printf("The value of geek1 is : %d\n", geek1) 
fmt.Printf("The type of geek1 is : %T\n", geek1) 

fmt.Printf("\nThe value of geek2 is : %d\n", geek2) 
fmt.Printf("The type of geek2 is : %T\n", geek2) 

fmt.Printf("\nThe value of geek3 is : %d\n", geek3) 
fmt.Printf("The type of geek3 is : %T\n", geek3)

fmt.Printf("\nThe value of geek4 is : %s\n", geek4) 
fmt.Printf("The type of geek4 is : %T\n", geek4)


fmt.Printf("\nThe value of geek5 is : %f\n", geek5) 
fmt.Printf("The type of geek5 is : %T\n", geek5)

fmt.Printf("\nThe value of geek6 is : %d\n", geek6) 
fmt.Printf("The type of geek6 is : %T\n", geek6)

} 

Resultado:

The value of geek1 is : 117
The type of geek1 is : int

The value of geek2 is : 7834
The type of geek2 is : int

The value of geek3 is : 5685
The type of geek3 is : int

The value of geek4 is : GFG
The type of geek4 is : string

The value of geek5 is : 859.240000
The type of geek5 is : float64

The value of geek6 is : 1234
The type of geek6 is : int

Puntos importantes para recordar:

El operador de declaración corta se puede utilizar cuando al menos una variable en el lado izquierdo del operador :=se declara nueva. El operador de declaración de variable corta funciona como una asignación a variables declaradas dentro del mismo bloque léxico. Para entender mejor este concepto tomemos un ejemplo.

Ejemplo 1: El programa siguiente arrojará un error porque no hay ninguna variable nueva en el lado izquierdo del operador :=.

// Minh họa chương trình Go dùng khai báo biến ngắn
package main

import "fmt"

func main() { 

	// lấy hai biến
	p, q := 100, 200

	fmt.Println("Value of p ", p, "Value of q ", q)

	// Báo lỗi vì không có biến mới ở bên tay trái của :=
	p, q := 500, 600
	
	fmt.Println("Value of p ", p, "Value of q ", q)
}

Error:

./prog.go:17:10: no new variables on left side of := 

Ejemplo 2:

En el programa a continuación, puede ver que la línea geek3, geek2 := 456, 200 funcionará bien sin ningún error porque hay al menos una nueva variable, es decir, geek3 en el lado izquierdo del operador :=.

// Chương trình Go dùng toán tử khai báo biến ngắn
package main 

import "fmt"

func main() { 

// Ở đây, khai báo biến ngắn hoạt động
// như một phép gán cho biến geek1
// vì cùng một biến có trong cùng một khối
// do đó giá trị của geek2 được thay đổi từ 100 thành 200
geek1, geek2 := 78, 100

// ở đây, := được sử dụng như một phép gán cho geek2
// vì nó đã được khai báo. Ngoài ra, dòng này
// sẽ hoạt động tốt vì geek3 mới được tạo
// biến
geek3, geek2 := 456, 200

// Nếu bạn thử chạy các dòng được chú thích,
// thì trình biên dịch sẽ báo lỗi vì
// các biến này đã được định nghĩa
// geek1, geek2 := 745, 956
// geek3 := 150

// Hiện giá trị của các biến
fmt.Printf("The value of geek1 and geek2 is : %d %d\n", geek1, geek2) 
											
fmt.Printf("The value of geek3 and geek2 is : %d %d\n", geek3, geek2) 
} 

Resultado:

The value of geek1 and geek2 is : 78 200
The value of geek3 and geek2 is : 456 200

Go es un lenguaje fuertemente tipado porque no se puede asignar un valor de un tipo de dato diferente a una variable declarada.

Por ejemplo:

// Minh họa chương trình Go dùng toán tử khai báo biến ngắn
package main 

import "fmt"

func main() { 

	// lấy một biến của int
	z := 50
	
	fmt.Printf("Value of z is %d", z)
	
	// gán lại giá trị của kiểu chuỗi
// nó sẽ đưa ra lỗi
	z := "Golang"
} 

Error:

./prog.go:16:4: no new variables on left side of := 
./prog.go:16:7: cannot use “Golang” (type string) as type int in assignment 
 

En una breve declaración de variable, Golang permite inicializar un conjunto de variables utilizando una llamada de función que devuelve múltiples valores. O se puede decir que a las variables también se les pueden asignar valores que se evalúan en tiempo de ejecución.

Por ejemplo:

// Tại đây, hàm math.Max function trả về
// số lớn nhất trong biến i 
i := math.Max(x, y)

Variable local o variable global

Con la ayuda del operador de declaración de variable corta (:=), puede declarar variables locales cuyo alcance es solo a nivel de bloque. En general, las variables locales se declaran dentro del bloque de función. Si intenta declarar variables globales utilizando el operador de declaración corta, obtendrá un error.

Ejemplo 1:

// Chương trình Go hiển thị cách sử dụng toán tử :=
// để khai báo các biến cục bộ
package main

import "fmt"

// sử dụng từ khóa var để khai báo
// và khởi tạo biến
// đó là package hoặc bạn có thể nói
// phạm vi cấp toàn cục
var geek1 = 900

// sử dụng khai báo biến ngắn
// sẽ báo lỗi
geek2 := 200

func main() {

// truy cập geek1 bên trong hàm
fmt.Println(geek1)

// truy cập geek2 bên trong hàm
fmt.Println(geek2)

}

Error:

./prog.go:15:1: syntax error: non-declaration statement outside function body 

Ejemplo 2:

// Chương trình Go dùng toán tử := operator
// để khai báo các biến cục bộ
package main 

import "fmt"

// dùng từ khóa var để khai báo
// và khởi tạo biến
// nó đóng gói hoặc bạn có thể báo
// phạm vi cấp toàn cục
var geek1 = 900


func main() { 

// dùng khai báo biến ngắn
// bên trong hàm chính
// nó có phạm vi cục bộ tức là không thể
// truy cập bên ngoài hàm chính
geek2 := 200

// truy cập geek1 bên trong hàm này
fmt.Println(geek1) 

// truy cập geek2 bên trong hàm này
fmt.Println(geek2) 
	
} 

Resultado:

900
200
Sign up and earn $1000 a day ⋙

Leave a Comment

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.