Definire tipi personalizzati
Fa parte della sezione Fondamenti del percorso GO di Coddy. Lezione 94 di 109.
In Go, puoi creare tipi personalizzati basati su tipi esistenti. Questo rende il tuo codice più chiaro e sicuro dal punto di vista dei tipi.
Definisci un tipo personalizzato per la temperatura in gradi Celsius:
type Celsius float64
func main() {
var temperature Celsius = 25.5
fmt.Printf("Temperature: %.1f°C\n", temperature)
}Il risultato mostra il valore della temperatura:
Temperature: 25.5°CI tipi personalizzati si comportano come i tipi sottostanti, ma il compilatore li considera tipi distinti, migliorando la leggibilità del codice e prevenendo errori logici.
Sfida
PrincipianteIn questa sfida, ti eserciterai a definire un tipo personalizzato in Go. I tipi personalizzati ti permettono di creare tipi di dati tuoi basati su quelli esistenti.
Il tuo compito è definire un tipo personalizzato chiamato Temperature basato su float64, quindi creare una variabile di questo tipo.
Dopo aver definito il tipo, il programma dovrebbe stampare il valore e il tipo della variabile della temperatura.
Provalo tu
package main
import "fmt"
// TODO: Definisci un tipo personalizzato chiamato 'Temperature' basato su float64
func main() {
// Crea una variabile di tipo Temperature con valore 23.5
var roomTemp Temperature = 23.5
// Stampa il valore e il tipo di roomTemp
fmt.Printf("Room temperature: %v\n", roomTemp)
fmt.Printf("Type of roomTemp: %T\n", roomTemp)
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori di confronto e logici
Operatori di confronto - Parte 1Operatori di confronto - Parte 2Operatore AND logicoOperatore OR logicoOperatore NOT logicoNozioni di base sulla precedenza degli operatoriRiepilogo - Eseguire confronti7Flusso di controllo: cicli
Come funziona il ciclo `for`Ciclo `for` - baseCiclo `for` - solo condizioneLa parola chiave `break`La parola chiave `continue`Cicli annidatiRiepilogo - ripetere le azioni10Tipi compositi: array
Introduzione agli arrayDichiarare gli arrayInizializzare gli arrayAccedere agli elementi degli arrayLunghezza degli array con `len`Iterare sugli arrayArray multidimensionali13Tipi compositi: struct
Definire tipi personalizzatiCreare istanze di structAccedere ai campi di structPuntatori a structInizializzare structStruct incorporatiStruct anonimiRiepilogo - Strutture dati personalizzate2Variabili e tipi di dati di base
Che cos'è una variabileInferenza del tipo con `:=`Numeri interi (int)Numeri in virgola mobileValori booleaniStringheValori zeroCostantiConvenzioni di denominazioneRiepilogo: variabili e tipi5Input/output di base
Output formattatoVerbi di formattazioneVisualizzazione dei tipiAcquisire input di base dall’utenteRiepilogo - Input e output8Funzioni
Capire le funzioniDichiarare una funzioneChiamare le funzioniParametri delle funzioniRestituire un singolo valoreRestituire più valoriValori restituiti con nomeFondamenti dell'ambito delle funzioniRiepilogo - Creare codice riutilizzabile3Operatori di base
Operatori aritmeticiOperatore di divisioneL'operatore moduloOperatore di assegnazioneOperatori di assegnazione compostaIncremento e decrementoRiepilogo - Calcoli6Flusso di controllo: condizioni
L'istruzione `if`La parola chiave `else`La parola chiave `else if`Ombreggiamento delle variabili in `if`Inizializzare le variabiliL'istruzione `switch``switch` con espressioni`switch` senza espressioneLa parola chiave `fallthrough`Riepilogo: prendere decisioni9Puntatori
Che cos’è un puntatore?Dichiarare variabili puntatoreL’operatore indirizzoDereferenziare i puntatoriUsare i puntatori nelle funzioniPuntatori nilRipasso - Capire i puntatori12Tipi compositi: mappe
Introduzione alle mappeDichiarare i letterali delle mappeCreare mappe con `make`Aggiungere e aggiornare coppie chiave-valoreAccedere ai valori delle mappeVerificare l'esistenza di una chiaveEliminare elementi dalle mappeLunghezza delle mappeIterare sulle mappeRiepilogo - Archiviazione chiave-valoreEsercitati da solo: Compilatore Go online