0Pricing
Go Academy · Lezione

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 contesto
  • const 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:

  • const dichiara valori immutabili calcolati in fase di compilazione
  • Le costanti non tipizzate sono flessibili e hanno una precisione elevata
  • iota si 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.

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