Dichiarare variabili in Go
var, := e inferenza dei tipi
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→0string→""(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
:=ovar; 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 vete linter comestaticcheckper 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 zerovar name = value—varcon inferenza del tiponame := 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.
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
- Dichiarare variabili in Go
- Tipi integrati di Go
- Costanti e iota
- Conversioni di tipo in Go