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())
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