Costanti e iota
Definire costanti e utilizzare iota per le enumerazioni
Costanti e iota è una lezione Go Academy gratuita su CoddyKit. Questa è la lezione 3 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 cosa sono le costanti
Una costante memorizza un valore che non cambia mai a runtime.
- Viene dichiarata con
const - Deve poter essere calcolata in fase di compilazione
- Può essere tipizzata o non tipizzata
- Sono consentiti valori letterali stringa, booleani, numerici e
rune
Costanti tipizzate e non tipizzate
Le costanti non tipizzate hanno una precisione maggiore e sono più flessibili:
const Pi = 3.14159— float non tipizzato, si adatta al contestoconst Pi float64 = 3.14159— float64 tipizzato- Le costanti intere non tipizzate possono essere usate con qualsiasi tipo intero
Espressioni costanti
Le costanti possono essere calcolate a partire da altre costanti in fase di compilazione:
const (
KB = 1024
MB = 1024 * KB
GB = 1024 * MB
)iota: valori auto-incrementali
iota è un contatore predefinito che viene reimpostato su 0 in ogni blocco const e incrementato di 1 per ogni costante del blocco.
const (
Sunday = iota // 0
Monday // 1
Tuesday // 2
Wednesday // 3
)iota con espressioni
Combini iota con le espressioni per creare enumerazioni potenti:
const (
_ = iota // skip 0
KB = 1 << (10 * iota) // 1024
MB // 1048576
GB // 1073741824
)Costanti stringa
Le costanti stringa sono valori stringa immutabili noti in fase di compilazione:
const (
AppName = "GoApp"
AppVersion = "1.0.0"
Greeting = "Hello, " + AppName
)Costanti booleane
true e false sono costanti booleane non tipizzate predefinite in Go. Può definire costanti tipizzate booleanе personalizzate per i flag delle funzionalità:
const (
EnableMetrics = true
DebugMode = false
)Costanti e variabili a confronto
Differenze principali:
- Le costanti sono immutabili: un'assegnazione dopo la dichiarazione genera un errore di compilazione
- Le costanti non possono usare espressioni non costanti, ad esempio chiamate a funzioni
- Le costanti sono più efficienti: il compilatore può inserirle direttamente nel codice
- Usi le costanti per i numeri magici, così da migliorare la leggibilità
Tipi enumerati con iota
Crei enumerazioni con sicurezza dei tipi combinando un tipo definito con iota:
type Direction int
const (
North Direction = iota
East
South
West
)Stringer per migliorare la leggibilità degli enum
Implementi l'interfaccia Stringer sul tipo enum, in modo che vengano stampati nomi leggibili invece di interi grezzi. Lo strumento stringer può generare automaticamente questo codice.
Pattern di bitmask con iota
iota combinato con gli scorrimenti di bit crea insiemi di flag:
type Permission uint
const (
Read Permission = 1 << iota // 1
Write // 2
Execute // 4
)
func main() {
access := Read | Write // 3
_ = access
}Verifica rapida
Da quale valore parte iota in ogni nuovo blocco const?
Riepilogo: costanti e iota
Ora conosce le costanti di Go:
constdichiara valori immutabili calcolati in fase di compilazione- Le costanti non tipizzate sono flessibili e hanno una precisione elevata
iotasi incrementa automaticamente all'interno di un blocco const, partendo da 0- Combini iota con le espressioni per dimensioni di file, flag di bit ed enum
- Crei enumerazioni con sicurezza dei tipi usando un tipo definito + iota
Prossimo argomento: conversioni esplicite dei tipi e alias di tipo.
Domande Frequenti
La lezione «Costanti e iota» è gratuita?
Sì — il testo completo di «Costanti e iota» è 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 «Costanti e iota»?
Definire costanti e utilizzare iota per le enumerazioni 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 3 di 4.
Quanto tempo richiede la lezione «Costanti e iota»?
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.