Sobes.tech
Junior — Middle

Spiega il concetto di variabile globale e le sue caratteristiche in un programma.

sobes.tech AI

Risposta dell'AI

Una variabile globale in Go è una variabile dichiarata al di fuori delle funzioni, di solito in un package, e accessibile in tutto il package o anche da altri package quando viene esportata (con lettera maiuscola).

Caratteristiche delle variabili globali:

  • Vengono inizializzate all'avvio del programma, prima dell'esecuzione di main.
  • Hanno ambito di package se il nome inizia con una lettera minuscola, o vengono esportate se inizia con una maiuscola.
  • Sono usate per memorizzare uno stato accessibile da diverse funzioni.
  • Possono causare problemi di accesso concorrente in programmi multithread, richiedendo spesso sincronizzazione (ad esempio, con mutex).

Esempio di una variabile globale:

package main

import "fmt"

var counter int = 0 // variabile globale

func increment() {
    counter++
}

func main() {
    increment()
    fmt.Println(counter) // Stampa 1
}

L'uso di variabili globali dovrebbe essere minimizzato per evitare complicazioni nella manutenzione e nel testing del codice.