Tipi integrati di Go
int, float64, string, bool e i relativi valori zero
Tipi integrati di Go è una lezione Go Academy gratuita su CoddyKit. Questa è la lezione 2 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.
Panoramica del sistema dei tipi di Go
Go dispone di un ricco insieme di tipi predefiniti organizzati in categorie:
- Booleano:
bool - Intero:
int,int8,int16,int32,int64e varianti senza segno - A virgola mobile:
float32,float64 - Stringa:
string - Complesso:
complex64,complex128
Tipi interi
Go offre tipi interi dipendenti dalla piattaforma e di dimensione fissa:
int/uint— dimensione dipendente dalla piattaforma (32 o 64 bit)int8…int64— larghezze fisse in bitbyte— alias diuint8rune— alias diint32, rappresenta un punto di codice Unicode
Usi int per gli interi di uso generale, a meno che non abbia bisogno di una larghezza specifica.
float64 e float32
I tipi a virgola mobile seguono lo standard IEEE 754:
package main
func main() {
var f32 float32 = 3.14
var f64 float64 = 3.141592653589793
ratio := f64 / 2.0 // float64 inferred
_ = f32
_ = ratio
}Tipo string
Le stringhe in Go sono sequenze di byte immutabili codificate in UTF-8:
- Tra virgolette doppie:
"Hello"— supportano le sequenze di escape - Tra apici inversi:
`raw string`— non elaborano gli escape e possono estendersi su più righe len(s)restituisce il numero di byte, non di caratteri- Per iterare sui caratteri usi
range, ottenendo valorirune
Tipo bool
Il tipo bool ha due valori: true e false.
- Il valore zero è
false - Operatori logici:
&&,||,! - Gli operatori di confronto restituiscono un bool:
==,!=,<,> - Go non converte implicitamente gli interi in bool, a differenza di C
Riepilogo dei valori zero
Ogni tipo ha un valore zero ben definito:
int, tutti i tipi numerici →0float64→0.0string→""bool→false*T, slice, map, chan, func →nil
I valori zero rendono sicuro il codice Go: non si legge mai memoria non inizializzata.
Valori letterali numerici
Go supporta diversi formati di valori letterali numerici:
package main
func main() {
dec := 1_000_000 // digit separators
hex := 0xFF
oct := 0o777
bin := 0b1010
sci := 1.5e3 // 1500.0
_ = dec; _ = hex; _ = oct; _ = bin; _ = sci
}Dimensioni e intervalli dei tipi
Conoscere le dimensioni dei tipi previene i bug dovuti all'overflow:
int8: da -128 a 127uint8: da 0 a 255int16: da -32768 a 32767int32: circa ±2,1 miliardiint64: circa ±9,2 quintilioni
Usi math.MaxInt64 e costanti simili del package math per ottenere i limiti esatti.
rune e byte
rune e byte sono alias di tipo con un significato semantico:
byte=uint8— usato per dati binari grezzi o ASCIIrune=int32— usato per i punti di codice Unicode
Quando usa range su una stringa, Go restituisce valori rune, perfetti per lavorare con caratteri UTF-8 multibyte come le emoji.
Scelta del tipo corretto
Linee guida per scegliere i tipi numerici:
- Scelga
intcome valore predefinito per contatori e indici - Usi
float64per i calcoli generici a virgola mobile - Usi
int64/uint64per ID, timestamp e conteggi elevati - Usi
int32solo quando interagisce con API che lo richiedono - Eviti
float32, a meno che non lavori con la grafica o con dati in cui lo spazio è limitato
Verifica rapida
Qual è il valore zero di una variabile string in Go?
Riepilogo: tipi predefiniti
I tipi predefiniti di Go forniscono una base solida:
- Famiglia degli interi:
int,int64,byte,rune - A virgola mobile: preferisca
float64 stringè composta da byte UTF-8 immutabiliboolcontrue/false- Ogni tipo ha un valore zero: nessuna sorpresa
Prossimo argomento: le costanti e il potente enumeratore iota.
Esercizio
Faccia una prova: dichiari una variabile rune contenente la lettera 'A' e una variabile byte contenente 65. Stampi entrambe: dovrebbero produrre lo stesso valore numerico. Provi poi a scorrere una breve stringa contenente un'emoji per osservare i valori rune in azione.
Domande Frequenti
La lezione «Tipi integrati di Go» è gratuita?
Sì — il testo completo di «Tipi integrati di 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 «Tipi integrati di Go»?
int, float64, string, bool e i relativi valori zero 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 2 di 4.
Quanto tempo richiede la lezione «Tipi integrati di 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