Dans GO, les variables peuvent être déclarées et initialisées à l'aide de plusieurs méthodes. La façon la plus courante de déclarer une variable est d'utiliser le mot-clé var
. Voici comment vous pouvez le faire:
<code class="go">var name string // Declaration without initialization var age int = 25 // Declaration with initialization</code>
Vous pouvez également déclarer et initialiser plusieurs variables du même type sur une seule ligne:
<code class="go">var firstname, lastname string = "John", "Doe"</code>
GO vous permet également d'utiliser une déclaration de variables courtes à l'aide de l'opérateur :=
qui déduit le type et n'est valide que dans les fonctions:
<code class="go">name := "Alice" // Short declaration and initialization, equivalent to var name string = "Alice"</code>
Vous pouvez également utiliser le mot-clé var
avec des parenthèses pour regrouper plusieurs déclarations:
<code class="go">var ( name string = "Bob" age int = 30 )</code>
Dans GO, vous pouvez également déclarer des variables au niveau du package (en dehors des fonctions), qui sont initialisées lorsque le programme démarre:
<code class="go">var globalVariable string = "Global" func main() { // Access globalVariable here }</code>
En Go, les valeurs peuvent être affectées aux variables de plusieurs manières:
Affectation directe : c'est le moyen le plus simple d'attribuer une valeur à une variable une fois qu'il a été déclaré.
<code class="go">var name string name = "John"</code>
Affectations multiples : GO prend en charge l'attribution de plusieurs valeurs à plusieurs variables dans une seule instruction.
<code class="go">var firstname, lastname string firstname, lastname = "John", "Doe"</code>
Déclaration et affectation de la variable courte : Cette méthode utilise l'opérateur :=
qui déclare et attribue une valeur à une variable en une seule étape, et n'est valide que dans les fonctions.
<code class="go">name := "Alice"</code>
Utilisation de fonctions ou d'expressions : les variables peuvent être attribuées des valeurs renvoyées par des fonctions ou des expressions.
<code class="go">length := len("Hello, World!")</code>
Affectation du tuple : GO permet d'attribuer les résultats d'un appel de fonction ou un ensemble de valeurs sur plusieurs variables à la fois.
<code class="go">a, b := 1, 2 a, b = b, a // Swapping values</code>
GO Fournit l'inférence de type, ce qui permet au compilateur de déterminer automatiquement le type d'une variable en fonction de sa valeur attribuée. Ceci est particulièrement utile lors de l'utilisation de la syntaxe de déclaration de variables courtes ( :=
).
Lorsque vous utilisez l'opérateur :=
pour déclarer et initialiser une variable, faites en déverse le type du côté droit de l'affectation. Par exemple:
<code class="go">name := "Alice" // The type of 'name' is inferred to be string age := 25 // The type of 'age' is inferred to be int</code>
L'inférence du type fonctionne également avec des littéraux composites et des expressions complexes:
<code class="go">numbers := []int{1, 2, 3} // The type of 'numbers' is inferred to be []int (slice of ints) sum := 10 20 // The type of 'sum' is inferred to be int</code>
Cependant, l'inférence de type fonctionne uniquement dans les fonctions à l'aide de l'opérateur :=
. Lorsque vous utilisez le mot clé var
, vous devez déclarer explicitement le type si vous ne fournissez pas de valeur d'initialisation:
<code class="go">var name string // Explicit type declaration var age = 25 // Type is inferred to be int</code>
Dans GO, la portée d'une variable détermine la partie du code où la variable est accessible. Il y a trois portées principales en Go:
Portée du package : les variables déclarées en dehors de toute fonction utilisant le mot clé var
ont la portée du package. Ces variables sont accessibles à partir de n'importe quel fichier dans le même package et sont initialisées lorsque le programme démarre.
<code class="go">package main var globalVariable string = "Global" func main() { fmt.Println(globalVariable) // Accessible within the package }</code>
Étendue de la fonction : les variables déclarées à l'intérieur d'une fonction utilisant le mot-clé var
ou la déclaration de la variable courte ( :=
) ont la portée de la fonction. Ces variables ne sont accessibles que dans la fonction où elles sont déclarées.
<code class="go">func main() { localVar := "Local" fmt.Println(localVar) // Accessible within the function }</code>
Portée du bloc : Les variables déclarées dans un bloc (comme if
, for
ou les instructions switch
) ont la portée du bloc. Ces variables ne sont accessibles que dans ce bloc.
<code class="go">if true { blockVar := "Block" fmt.Println(blockVar) // Accessible within the if block } // blockVar is not accessible here</code>
Go gère la portée des variables en appliquant des règles qui empêchent l'accès aux variables en dehors de leur portée définie. Cela permet de maintenir l'intégrité et la clarté du code, empêchant l'accès et les modifications variables involontaires.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!