Menu
Coddy logo textTech

Définition de types personnalisés

Fait partie de la section Fondamentaux du Journey GO de Coddy — leçon 94 sur 109.

En Go, vous pouvez créer vos propres types personnalisés basés sur des types existants. Cela apporte plus de clarté et de sécurité de type à votre code.

Définissez un type personnalisé pour la température en Celsius :

type Celsius float64

func main() {
    var temperature Celsius = 25.5
    fmt.Printf("Temperature: %.1f°C\n", temperature)
}

Le résultat affiche la valeur de la température :

Temperature: 25.5°C

Les types personnalisés se comportent comme leurs types sous-jacents, mais sont traités comme des types distincts par le compilateur, ce qui améliore la lisibilité du code et prévient les erreurs logiques.

challenge icon

Défi

Débutant

Dans ce défi, vous allez vous entraîner à définir un type personnalisé en Go. Les types personnalisés vous permettent de créer vos propres types de données basés sur des types existants.

Votre tâche consiste à définir un type personnalisé appelé Temperature qui est basé sur float64, puis à créer une variable de ce type.

Après avoir défini le type, le programme doit afficher la valeur et le type de la variable de température.

Aide-mémoire

Créez des types personnalisés en Go en utilisant le mot-clé type :

type Celsius float64

Les types personnalisés sont basés sur des types existants mais sont traités comme des types distincts par le compilateur :

type Celsius float64

func main() {
    var temperature Celsius = 25.5
    fmt.Printf("Temperature: %.1f°C\n", temperature)
}

Les types personnalisés améliorent la lisibilité du code et assurent la sécurité des types tout en se comportant comme leurs types sous-jacents.

Essayez vous-même

package main

import "fmt"

// TODO : Définir un type personnalisé appelé 'Temperature' basé sur float64

func main() {
	// Créer une variable de type Temperature avec la valeur 23.5
	var roomTemp Temperature = 23.5
	
	// Afficher la valeur et le type de roomTemp
	fmt.Printf("Room temperature: %v\n", roomTemp)
	fmt.Printf("Type of roomTemp: %T\n", roomTemp)
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux