Go Academy · Lezione

Dichiarare variabili in Go

var, := e inferenza dei tipi

Lezione 1 di 413 passaggi

Dichiarare variabili in Go è una lezione Go Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Go Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Go Academy include 4 lezioni in totale.

Che cos'è una variabile

Una variabile è una posizione di memoria denominata che contiene un valore. In Go, ogni variabile ha un tipo fissato in fase di compilazione.

  • Go è tipizzato staticamente: i tipi non possono cambiare a runtime
  • Le variabili hanno sempre un valore zero predefinito quando non vengono impostate esplicitamente
  • È importante scegliere nomi chiari: Go predilige nomi brevi e chiari rispetto a nomi lunghi

Dichiarazione var

La parola chiave var dichiara esplicitamente una o più variabili:

package main

func main() {
    var name string
    var age  int
    var pi   float64 = 3.14
    _ = name
    _ = age
    _ = pi
}

Dichiarazione breve di variabile :=

All'interno delle funzioni può usare := per eseguire in un solo passaggio una dichiarazione + assegnazione concisa.

  • Il tipo viene dedotto dall'espressione a destra
  • := è disponibile solo all'interno del corpo di una funzione
  • Almeno una variabile a sinistra deve essere nuova
package main

func main() {
    city := "Ankara"   // string inferred
    count := 42         // int inferred
    temp := 36.6        // float64 inferred
    _ = city
    _ = count
    _ = temp
}

Valori zero

Go inizializza automaticamente ogni variabile dichiarata con il suo valore zero:

  • int, float64 → 0
  • string → "" (stringa vuota)
  • bool → false
  • Puntatori, slice, mappe, canali → nil

I valori zero eliminano i bug dovuti a variabili non inizializzate, comuni in C/C++.

Dichiarazione di più variabili

Dichiari e assegni più variabili contemporaneamente usando un blocco o la forma a tupla:

package main

var (
    host = "localhost"
    port = 8080
    debug = false
)

func main() {
    x, y := 10, 20
    _ = x
    _ = y
}

Regole per l'inferenza dei tipi

Quando usa :=, Go deduce il tipo dal valore letterale:

  • Valori letterali interi → int
  • Valori letterali a virgola mobile → float64
  • Valori letterali stringa → string
  • Valori letterali complessi → complex128

Se ha bisogno di un tipo specifico, ad esempio int32, usi una dichiarazione var esplicita o una conversione.

Variabili a livello di package e di funzione

Le variabili possono trovarsi a livello di package (globali per il package) o a livello di funzione (locali alla funzione):

  • A livello di package: usi var; la variabile è accessibile da qualsiasi punto del package
  • A livello di funzione: usi := o var; la variabile è visibile solo all'interno della funzione
  • Preferisca le variabili a livello di funzione per mantenere lo stato circoscritto

Identificatore vuoto _

L'identificatore vuoto _ scarta un valore di cui non ha bisogno. Go richiede che ogni variabile dichiarata venga utilizzata: _ è l'eccezione a questa regola:

package main

func divide(a, b int) (int, int) {
    return a / b, a % b
}

func main() {
    quotient, _ := divide(10, 3) // discard remainder
    _ = quotient
}

Shadowing delle variabili

Il shadowing si verifica quando uno scope interno dichiara una variabile con lo stesso nome di una variabile in uno scope esterno:

  • La variabile interna nasconde quella esterna all'interno del proprio scope
  • Questo può causare bug difficili da individuare: lo faccia intenzionalmente
  • Usi go vet e linter come staticcheck per rilevare lo shadowing accidentale

Errori comuni con :=

Presti attenzione a queste insidie di :=:

  • Usare := a livello di package → errore di compilazione
  • Tutte le variabili a sinistra esistono già → usi = al suo posto
  • Creare accidentalmente lo shadowing di una variabile di errore esterna nei blocchi if-err

In caso di dubbio, usi var esplicito per maggiore chiarezza.

Verifica rapida

Quale delle seguenti è la sintassi corretta per la dichiarazione breve di una variabile in Go?

Riepilogo: dichiarazione delle variabili

Ora sa come dichiarare le variabili in Go:

  • var name type — dichiarazione esplicita con valore zero
  • var name = value — var con inferenza del tipo
  • name := value — dichiarazione breve all'interno delle funzioni
  • I valori zero sono automatici: non esiste uno stato non inizializzato
  • _ scarta i valori indesiderati

Prossimo argomento: i tipi predefiniti di Go e i relativi valori zero in dettaglio.

Esercizio

Provi personalmente: dichiari una variabile a livello di package appName di tipo string e una variabile a livello di funzione retries usando := e impostandola su 3.

Ricordi: per le variabili a livello di package si usa var, mentre := è valido solo all'interno dei corpi delle funzioni.

Gratis per iniziare

Impara Go con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
51
Lezioni
203

Domande Frequenti

La lezione «Dichiarare variabili in Go» è gratuita?

Sì — il testo completo di «Dichiarare variabili in Go» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Go Academy, passa a CoddyKit PRO. Il corso Go Academy include 4 lezioni in totale.

Cosa imparerò in «Dichiarare variabili in Go»?

var, := e inferenza dei tipi Eserciti Go Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Go Academy?

Non è richiesta alcuna esperienza precedente. Go Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Dichiarare variabili in Go»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Go Academy?

Sì. Ogni lezione Go Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Dichiarare variabili in Go
  2. Tipi integrati di Go
  3. Costanti e iota
  4. Conversioni di tipo in Go
← Torna a Go Academy