Configurazione del progetto
Fa parte della sezione Logica e flusso del percorso GO di Coddy. Lezione 20 di 68.
Sfida
FacileNelle prossime lezioni, creerai una semplice applicazione da riga di comando per gestire un elenco di attività, che consente agli utenti di aggiungere, visualizzare, completare e rimuovere attività.
In questa sfida, creerai le fondamenta di un sistema di gestione delle attività configurando la struttura dati di base e l’interfaccia utente. Questo è il primo passo per creare un’applicazione completa per gestire un elenco di attività, che crescerà nel corso del progetto.
Riceverai due input:
- Una stringa che rappresenta il nome dell’applicazione (ad es.,
"MyTasks") - Una stringa che rappresenta il nome dell’utente (ad es.,
"Alice")
Il tuo compito è:
- Definire una struct
Taskcon due campi:Name(stringa) - la descrizione dell’attivitàCompleted(bool) - indica se l’attività è completata
- Creare uno slice di struct
Taskper contenere l’elenco delle attività (inizialmente vuoto) - Visualizzare un messaggio di benvenuto nel formato:
"Welcome to [app_name], [user_name]!" - Visualizzare un menu con le seguenti opzioni, ciascuna su una riga separata:
"1. Add Task""2. View Tasks""3. Complete Task""4. Remove Task""5. Exit"
- Stampare il numero attuale di attività nel formato:
"Current tasks: [count]"
Questa sfida stabilisce la struttura di base che supporterà tutte le funzionalità future del tuo sistema di gestione delle attività. La struct Task sarà l’elemento fondamentale per memorizzare le singole attività, mentre lo slice gestirà la raccolta delle attività. Il menu offre agli utenti un’interfaccia chiara per capire quali azioni possono eseguire.
Provalo tu
package main
import "fmt"
func main() {
// Leggi l'input
var appName string
var userName string
fmt.Scanln(&appName)
fmt.Scanln(&userName)
// TODO: Scrivi il tuo codice qui sotto
// Definisci la struct Task
// Crea una slice di struct Task
// Mostra il messaggio di benvenuto e il menu
// Stampa il numero attuale di attività
}Tutte le lezioni di Logica e flusso
1Flusso di controllo avanzato
Switch con `fallthrough`Uscire dai cicli annidatiContinuare un ciclo specificoL'istruzione `goto`Riepilogo - Controllo avanzato dei cicli4Progetto: semplice lista di attività
Configurazione del progettoAggiungere un’attività2Struct e metodi
Definire metodi sugli structReceiver per valoreReceiver con puntatoreScegliere i receiverMetodi vs funzioniRiepilogo - comportamento degli struct5Mappe in dettaglio
Mappe di structPuntatori come valori delle mappeVerificare le mappe nilConfrontare le mappeRiepilogo - Contatore della frequenza delle parole3Interfacce (le basi)
Che cos’è un’interfaccia?Definire un’interfacciaImplementare un’interfacciaUsare i tipi interfacciaInterfaccia vuotaAsserzioni di tipoSwitch di tipoRiepilogo: forme e comportamentiEsercitati da solo: Compilatore Go online