Skip to content

Tipi di dati Go

Di seguito sono elencati tutti i tipi incorporati nel linguaggio Go, per riferimento. Per maggiori dettagli è possibile visitare Manuale di riferimento - Tipi.

Tipo booleano

Il tipo booleano ha solo valori veri e falsi.

TipoDescrizione
booltrue per il valore vero, false per il valore falso

TIP

In Go, l'intero 0 non rappresenta il valore falso e gli interi diversi da zero non rappresentano il valore vero, ovvero i numeri non possono sostituire i valori booleani per le valutazioni logiche. I due sono tipi completamente diversi.

Tipi interi

Go assegna tipi diversi per interi di bit diversi, principalmente divisi in interi senza segno e interi con segno.

NumeroTipo e descrizione
uint8Intero senza segno a 8 bit
uint16Intero senza segno a 16 bit
uint32Intero senza segno a 32 bit
uint64Intero senza segno a 64 bit
int8Intero con segno a 8 bit
int16Intero con segno a 16 bit
int32Intero con segno a 32 bit
int64Intero con segno a 64 bit
uintIntero senza segno almeno 32 bit
intIntero almeno 32 bit
uintptrEquivalente a un intero senza segno a 64 bit, ma specializzato per operazioni con puntatori, utilizzato per memorizzare indirizzi di puntatori non elaborati.

Tipo floating-point

Numeri floating-point IEEE-754, principalmente divisi in floating-point a singola precisione e floating-point a doppia precisione.

TipoDescrizione
float32Floating-point IEEE-754 a 32 bit
float64Floating-point IEEE-754 a 64 bit

Tipi complessi

TipoDescrizione
complex128Reale e immaginario a 64 bit
complex64Reale e immaginario a 32 bit

Tipi di carattere

Le stringhe del linguaggio Go sono completamente compatibili con UTF-8

TipoDescrizione
byteEquivalente a uint8 può esprimere caratteri ANSCII
runeEquivalente a int32 può esprimere caratteri Unicode
stringLe stringhe sono sequenze di byte, possono essere convertite nel tipo []byte ovvero slice di byte

Tipi derivati

TipoEsempio
Array[5]int, array di interi di lunghezza 5
Slice[]float64, slice di floating-point a 64 bit
Mappamap[string]int, mappa con chiavi di tipo stringa e valori di tipo intero
Strutturatype Gopher struct{}, struttura Gopher
Puntatore*int, un puntatore a intero.
Funzionetype f func(), un tipo di funzione senza parametri e senza valore di ritorno
Interfacciatype Gopher interface{}, interfaccia Gopher
Canalechan int, canale di interi

Valore zero

Nella documentazione ufficiale il valore zero è chiamato zero value. Il valore zero non è semplicemente lo zero numerico, ma piuttosto un valore vuoto o un valore predefinito di un tipo è più accurato.

TipoValore zero
Tipi numerici0
Tipo booleanofalse
Tipo stringa""
ArrayInsieme di valori zero del tipo corrispondente di lunghezza fissa
StrutturaStruttura i cui campi interni sono tutti valori zero
Slice, mappe, funzioni, interfacce, canali, puntatorinil

nil

nil è simile a none o null in altri linguaggi, ma non è equivalente. nil è solo il valore zero di alcuni tipi di riferimento e non appartiene a nessun tipo. Dal codice sorgente si può vedere che nil è solo una variabile.

go
var nil Type

E istruzioni come nil == nil non possono superare la compilazione.

Golang by www.golangdev.cn edit