Vai - Tipi di dati
Nel linguaggio di programmazione Go, i tipi di dati si riferiscono a un ampio sistema utilizzato per dichiarare variabili o funzioni di diversi tipi. Il tipo di variabile determina quanto spazio occupa nella memoria e come viene interpretata la sequenza di bit memorizzata.
I tipi in Go possono essere classificati come segue:
| Sr.No. | Tipi e descrizione |
|---|---|
| 1 | Boolean types Sono di tipo booleano e sono costituiti dalle due costanti predefinite: (a) true (b) false |
| 2 | Numeric types Sono ancora tipi aritmetici e rappresentano a) tipi interi o b) valori in virgola mobile in tutto il programma. |
| 3 | String types Un tipo stringa rappresenta l'insieme di valori stringa. Il suo valore è una sequenza di byte. Le stringhe sono tipi immutabili che una volta create, non è possibile modificare il contenuto di una stringa. Il tipo di stringa predichiarato è stringa. |
| 4 | Derived types Includono (a) tipi di puntatore, (b) tipi di array, (c) tipi di struttura, (d) tipi di unione e (e) tipi di funzione f) tipi di sezioni g) tipi di interfaccia h) tipi di mappa i) tipi di canale |
I tipi di array e i tipi di struttura sono indicati collettivamente come aggregate types. Il tipo di una funzione specifica l'insieme di tutte le funzioni con gli stessi parametri e tipi di risultati. Discuteremo i tipi di base nella sezione seguente, mentre altri tipi saranno trattati nei prossimi capitoli.
Tipi interi
I tipi interi indipendenti dall'architettura predefiniti sono:
| Sr.No. | Tipi e descrizione |
|---|---|
| 1 | uint8 Intero a 8 bit senza segno (da 0 a 255) |
| 2 | uint16 Intero a 16 bit senza segno (da 0 a 65535) |
| 3 | uint32 Intero a 32 bit senza segno (da 0 a 4294967295) |
| 4 | uint64 Intero a 64 bit senza segno (da 0 a 18446744073709551615) |
| 5 | int8 Intero a 8 bit con segno (da -128 a 127) |
| 6 | int16 Intero a 16 bit con segno (da -32768 a 32767) |
| 7 | int32 Intero a 32 bit con segno (da -2147483648 a 2147483647) |
| 8 | int64 Intero a 64 bit con segno (da -9223372036854775808 a 9223372036854775807) |
Tipi fluttuanti
I tipi di float predefiniti indipendenti dall'architettura sono:
| Sr.No. | Tipi e descrizione |
|---|---|
| 1 | float32 Numeri a virgola mobile a 32 bit IEEE-754 |
| 2 | float64 Numeri in virgola mobile a 64 bit IEEE-754 |
| 3 | complex64 Numeri complessi con float32 parti reali e immaginarie |
| 4 | complex128 Numeri complessi con parti reali e immaginarie float64 |
Il valore di un intero n bit è n bit ed è rappresentato utilizzando operazioni aritmetiche in complemento a due.
Altri tipi numerici
C'è anche un insieme di tipi numerici con dimensioni specifiche dell'implementazione:
| Sr.No. | Tipi e descrizione |
|---|---|
| 1 | byte uguale a uint8 |
| 2 | rune uguale a int32 |
| 3 | uint 32 o 64 bit |
| 4 | int stesse dimensioni di uint |
| 5 | uintptr un numero intero senza segno per memorizzare i bit non interpretati di un valore del puntatore |