Definire tipi personalizzati
Fa parte della sezione Fondamenti del percorso GO di Coddy. Lezione 94 di 109.
In Go, puoi creare i tuoi 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 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