Opérateur de déclaration de variable courte en Go

L'opérateur de déclaration de variable courte (:=) dans Golang est utilisé pour créer des variables avec un nom et une valeur initiale uniques. L'objectif principal de l'utilisation de cet opérateur est de déclarer et d'initialiser des variables locales à l'intérieur des fonctions et de restreindre la portée des variables. Le type de la variable est déterminé par le type de l'expression. Le mot-clé var est également utilisé pour créer des variables d'un type spécifique. On peut donc dire qu’il existe deux manières de créer des variables dans Golang comme suit :

Opérateur de déclaration de variable courte en Go

  • Utilisation du mot-clé var
  • Utilisez l'opérateur de déclaration de variable courte (:=)

Apprenons maintenant à utiliser l’opérateur de déclaration de variable courte dans Golang !

Contenu principal

Syntaxe d'utilisation de l'opérateur de déclaration de variable courte dans Golang

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

Ici, vous devez initialiser la variable juste après la déclaration. Mais en utilisant le mot-clé var , vous pouvez éviter l'initialisation au moment de la déclaration. Il n’est pas nécessaire de mentionner le type de la variable. L'expression ou la valeur sur le côté droit est utilisée pour évaluer le type de la variable.

Par exemple : ici, nous déclarons des variables à l'aide de l'opérateur de déclaration courte et ne spécifions pas le type de variable. Le type de la variable est déterminé par le type de l'expression sur le côté droit de l'opérateur :=.

// 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)

}

Résultat:

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

Déclaration de plusieurs variables à l'aide de l'opérateur de déclaration courte

L'opérateur de déclaration courte peut également être utilisé pour déclarer plusieurs variables de types identiques ou différents dans une seule déclaration. Les types de ces variables sont évalués par l'expression du côté droit de l'opérateur :=.

Par exemple:

// 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)

} 

Résultat:

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

Points importants à retenir :

L'opérateur de déclaration courte peut être utilisé lorsqu'au moins une variable sur le côté gauche de l'opérateur :=est déclarée nouvelle. L'opérateur de déclaration de variable courte fonctionne comme une affectation à des variables déclarées dans le même bloc lexical. Pour mieux comprendre ce concept, prenons un exemple.

Exemple 1 : Le programme ci-dessous générera une erreur car il n'y a pas de nouvelle variable sur le côté gauche de l'opérateur :=.

// 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)
}

Erreur:

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

Exemple 2 :

Dans le programme ci-dessous, vous pouvez voir que la ligne geek3, geek2 := 456, 200 fonctionnera correctement sans aucune erreur car il y a au moins une nouvelle variable, à savoir geek3, sur le côté gauche de l'opérateur :=.

// 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) 
} 

Résultat:

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

Go est un langage fortement typé car vous ne pouvez pas attribuer une valeur d'un type de données différent à une variable déclarée.

Par exemple:

// 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"
} 

Erreur:

./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 
 

Dans une courte déclaration de variable, Golang permet d'initialiser un ensemble de variables à l'aide d'un appel de fonction qui renvoie plusieurs valeurs. Ou vous pouvez dire que les variables peuvent également se voir attribuer des valeurs qui sont évaluées au moment de l'exécution.

Par exemple:

// 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 locale ou variable globale

À l'aide de l'opérateur de déclaration de variable courte (:=), vous pouvez déclarer des variables locales dont la portée est uniquement au niveau du bloc. En général, les variables locales sont déclarées à l'intérieur du bloc fonctionnel. Si vous essayez de déclarer des variables globales à l'aide de l'opérateur de déclaration courte, vous obtiendrez une erreur.

Exemple 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)

}

Erreur:

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

Exemple 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) 
	
} 

Résultat:

900
200
Sign up and earn $1000 a day ⋙

Leave a Comment

Why doesnt the freezer have a light but the refrigerator does?

Why doesnt the freezer have a light but the refrigerator does?

Refrigerators are familiar appliances in families. Refrigerators usually have 2 compartments, the cool compartment is spacious and has a light that automatically turns on every time the user opens it, while the freezer compartment is narrow and has no light.

2 Ways to Fix Network Congestion That Slows Down Wi-Fi

2 Ways to Fix Network Congestion That Slows Down Wi-Fi

Wi-Fi networks are affected by many factors beyond routers, bandwidth, and interference, but there are some smart ways to boost your network.

Comment rétrograder diOS 17 à iOS 16 sans perte de données avec Tenorshare Reiboot

Comment rétrograder diOS 17 à iOS 16 sans perte de données avec Tenorshare Reiboot

Si vous souhaitez revenir à la version stable d'iOS 16 sur votre téléphone, voici le guide de base pour désinstaller iOS 17 et rétrograder d'iOS 17 à 16.

Que se passe-t-il dans le corps lorsque vous mangez du yaourt tous les jours ?

Que se passe-t-il dans le corps lorsque vous mangez du yaourt tous les jours ?

Le yaourt est un aliment merveilleux. Est-il bon de manger du yaourt tous les jours ? Si vous mangez du yaourt tous les jours, comment votre corps va-t-il changer ? Découvrons-le ensemble !

Quel type de riz est le meilleur pour la santé ?

Quel type de riz est le meilleur pour la santé ?

Cet article présente les types de riz les plus nutritifs et comment maximiser les bienfaits pour la santé du riz que vous choisissez.

Comment se réveiller à lheure le matin

Comment se réveiller à lheure le matin

Établir un horaire de sommeil et une routine de coucher, changer votre réveil et ajuster votre alimentation sont quelques-unes des mesures qui peuvent vous aider à mieux dormir et à vous réveiller à l’heure le matin.

Latest Bathroom Tower Defense Codes and How to Enter Codes

Latest Bathroom Tower Defense Codes and How to Enter Codes

Get Bathroom Tower Defense Roblox game codes and redeem them for exciting rewards. They will help you upgrade or unlock towers with higher damage.

4 façons dont lIA améliore les téléviseurs intelligents

4 façons dont lIA améliore les téléviseurs intelligents

De la meilleure qualité d’image et de son au contrôle vocal et bien plus encore, ces fonctionnalités alimentées par l’IA rendent les téléviseurs intelligents bien meilleurs !

Pourquoi ChatGPT est meilleur que DeepSeek

Pourquoi ChatGPT est meilleur que DeepSeek

Au début, les gens avaient de grands espoirs pour DeepSeek. En tant que chatbot IA commercialisé comme un concurrent sérieux de ChatGPT, il promet des capacités et des expériences de chat intelligentes.

Découvrez Fireflies.ai : le secrétaire IA gratuit qui vous fait gagner des heures de travail

Découvrez Fireflies.ai : le secrétaire IA gratuit qui vous fait gagner des heures de travail

Il est facile de manquer des détails importants lorsque l’on note d’autres éléments essentiels, et essayer de prendre des notes tout en discutant peut être distrayant. Fireflies.ai est la solution.

Comment élever un axolotl dans Minecraft et apprivoiser une salamandre dans Minecraft

Comment élever un axolotl dans Minecraft et apprivoiser une salamandre dans Minecraft

Axolot Minecraft sera un excellent assistant pour les joueurs lorsqu'ils opèrent sous l'eau s'ils savent comment les utiliser.

DeceptionAds Warning: New Malicious Ad Type Exploits Legitimate Services to Display Fake CAPTCHAs

DeceptionAds Warning: New Malicious Ad Type Exploits Legitimate Services to Display Fake CAPTCHAs

DeceptionAds is a new form of malvertising, where scammers use legitimate advertising platforms and make sure their malicious sites avoid censorship as much as possible.

What to do when you see the “AirTag Found Moving With You” warning?

What to do when you see the “AirTag Found Moving With You” warning?

Wondering what the Airtag Found Moving With You warning is? Its a safety feature on AirTags designed to prevent them from being used to track you.

Le pouvoir mystérieux du nombre 33 en numérologie

Le pouvoir mystérieux du nombre 33 en numérologie

En numérologie, le nombre 33 est souvent considéré comme un nombre puissant et mystique. Voici ce que vous devez savoir sur le nombre 33 en numérologie.

What is dark energy?

What is dark energy?

Dark energy is driving the accelerating expansion of the universe, but its nature remains a complete mystery. Heres what you need to know about dark energy.