Configuration du projet
Fait partie de la section Logique & Flux du Journey GO de Coddy — leçon 20 sur 68.
Défi
FacileAu cours des prochaines leçons, vous allez construire une application simple de liste de tâches en ligne de commande qui permet aux utilisateurs d'ajouter, de consulter, de terminer et de supprimer des tâches.
Dans ce défi, vous allez créer les bases d'un système de gestion de tâches en mettant en place la structure de données de base et l'interface utilisateur. Il s'agit de la première étape de la construction d'une application complète de liste de tâches qui évoluera tout au long du projet.
Vous recevrez deux entrées :
- Une chaîne de caractères représentant le nom de l'application (par exemple,
"MyTasks") - Une chaîne de caractères représentant le nom de l'utilisateur (par exemple,
"Alice")
Votre tâche consiste à :
- Définir une structure
Taskavec deux champs :Name(string) - la description de la tâcheCompleted(bool) - si la tâche est terminée
- Créer une slice de structures
Taskpour contenir votre liste de tâches (initialement vide) - Afficher un message de bienvenue au format :
"Welcome to [app_name], [user_name]!" - Afficher un menu avec les options suivantes, chacune sur une ligne séparée :
"1. Add Task""2. View Tasks""3. Complete Task""4. Remove Task""5. Exit"
- Afficher le nombre actuel de tâches au format :
"Current tasks: [count]"
Ce défi établit la structure centrale qui soutiendra toutes les fonctionnalités futures de votre système de gestion de tâches. La structure Task sera l'élément de base pour stocker les tâches individuelles, tandis que la slice gérera votre collection de tâches. Le menu fournit une interface claire pour que les utilisateurs comprennent quelles actions ils peuvent effectuer.
Essayez vous-même
package main
import "fmt"
func main() {
// Lire l'entrée
var appName string
var userName string
fmt.Scanln(&appName)
fmt.Scanln(&userName)
// TODO: Écrivez votre code ci-dessous
// Définir la structure Task
// Créer une tranche (slice) de structures Task
// Afficher le message d'accueil et le menu
// Afficher le nombre de tâches actuelles
}Toutes les leçons de Logique & Flux
1Structures de contrôle avancées
Switch avec `fallthrough`Sortir de boucles imbriquéesContinuer une boucle spécifiqueL'instruction `goto`Récapitulatif - Contrôle de boucle avancé4Projet : Liste de tâches simple
Configuration du projetAjouter une tâche2Structures et Méthodes
Définir des méthodes sur des structuresReceveurs par valeurReceveurs par pointeurChoisir les receveursMéthodes vs FonctionsRécapitulatif - Comportement des structures5Les Maps en profondeur
Maps de StructsPointeurs comme valeurs de MapTester les Maps NilComparer des MapsRécapitulatif - Compteur de fréquence de mots3Interfaces (Les bases)
Qu'est-ce qu'une Interface ?Définir une InterfaceImplémenter une InterfaceUtiliser les types d'InterfaceInterface videAssertions de typeType SwitchRécapitulatif - Formes et comportements