Aller au contenu

Exercices#

Créer une bibliothèque pour gérer des formes géométriques et calculer leurs aires#

  • Définition des structures de formes géométriques * Identifier les propriétés communes à toutes les formes (par exemple, l'aire) * Définir une structure pour chaque type de forme (par exemple, cercle, rectangle, triangle) * Par exemple, type Circle struct { Radius float64 }
  • Implémentation des méthodes de calcul d'aire * Définir une interface Shape avec une méthode Area() float64 * Implémenter la méthode Area() pour chaque structure de forme * Pour un cercle, func (c Circle) Area() float64 { return math.Pi * c.Radius * c.Radius } * Pour un rectangle, func (r Rectangle) Area() float64 { return r.Width * r.Height }
  • Utilisation de la bibliothèque dans un programme * Importer le package de formes géométriques dans le programme * Créer des instances de différentes formes * Appeler la méthode Area() sur ces instances * Exemple : c := Circle{Radius: 5}; fmt.Println(c.Area())

Créer un programme de gestion d'inventaire#

  • Modélisation des structures de données pour l'inventaire * Définir une structure Item avec les propriétés appropriées (par exemple, nom, description, quantité) * Créer une structure Inventory qui contient un tableau de Item * Par exemple, type Item struct { Name string; Description string; Quantity int }
  • Fonctionnalités d'ajout, de suppression et de modification d'articles * Ajouter des méthodes à la structure Inventory pour gérer les articles * AddItem(item Item), RemoveItem(itemName string), UpdateItem(itemName string, newItem Item) * Ces méthodes doivent modifier le tableau de Item dans l'Inventory
  • Recherche et filtrage des articles * Ajouter une méthode FindItem(itemName string) *Item à la structure Inventory * Cette méthode devrait parcourir le tableau d'Item et retourner le premier Item qui correspond au itemName donné
  • Sauvegarde et chargement de l'inventaire à partir d'un fichier * Utiliser le package os et encoding/json pour lire et écrire des fichiers JSON * Ajouter des méthodes LoadFromFile(filename string) et SaveToFile(filename string) à la structure Inventory * Ces méthodes doivent utiliser json.Marshal et json.Unmarshal pour convertir les structures en JSON et vice versa