Projekt-Setup
Teil des Abschnitts Logik & Ablauf der GO-Journey von Coddy — Lektion 20 von 68.
Aufgabe
EinfachIn den nächsten Lektionen wirst du eine einfache Kommandozeilen-Aufgabenlisten-Anwendung erstellen, mit der Benutzer Aufgaben hinzufügen, anzeigen, abschließen und entfernen können.
In dieser Herausforderung legst du den Grundstein für ein Aufgabenverwaltungssystem, indem du die grundlegende Datenstruktur und die Benutzeroberfläche einrichtest. Dies ist der erste Schritt beim Aufbau einer vollständigen Aufgabenlisten-Anwendung, die im Laufe des Projekts wachsen wird.
Du erhältst zwei Eingaben:
- Einen String, der den Namen der Anwendung darstellt (z. B.
"MyTasks") - Einen String, der den Namen des Benutzers darstellt (z. B.
"Alice")
Deine Aufgabe ist es:
- Definiere ein
Task-Struct mit zwei Feldern:Name(string) - die AufgabenbeschreibungCompleted(bool) - ob die Aufgabe erledigt ist
- Erstelle ein Slice von
Task-Structs, um deine Aufgabenliste zu speichern (anfänglich leer) - Zeige eine Willkommensnachricht im Format:
"Welcome to %s, %s!\n"an - Zeige ein Menü mit den folgenden Optionen an, jede in einer eigenen Zeile:
"1. Add Task""2. View Tasks""3. Complete Task""4. Remove Task""5. Exit"
- Gib die aktuelle Anzahl der Aufgaben im Format:
"Current tasks: %d\n"aus
Diese Herausforderung etabliert die Kernstruktur, die alle zukünftigen Funktionen in deinem Aufgabenverwaltungssystem unterstützen wird. Das Task-Struct wird der Baustein zum Speichern einzelner Aufgaben sein, während das Slice deine Sammlung von Aufgaben verwaltet. Das Menü bietet eine klare Schnittstelle, damit Benutzer verstehen, welche Aktionen sie ausführen können.
Probier es selbst
package main
import "fmt"
func main() {
// Eingabe lesen
var appName string
var userName string
fmt.Scanln(&appName)
fmt.Scanln(&userName)
// TODO: Schreiben Sie Ihren Code unten
// Definiere die Task-Struktur
// Erstelle ein Slice von Task-Strukturen
// Willkommensnachricht und Menü anzeigen
// Aktuelle Anzahl der Aufgaben ausgeben
}Alle Lektionen in Logik & Ablauf
1Fortgeschrittener Kontrollfluss
Switch mit `fallthrough`Abbrechen von verschachtelten SchleifenFortsetzen einer bestimmten SchleifeDie `goto`-AnweisungZusammenfassung – Fortgeschrittene Schleifensteuerung4Projekt: Einfache Aufgabenliste
Projekt-SetupEine Aufgabe hinzufügen2Structs und Methoden
Methoden für Structs definierenValue ReceiverPointer ReceiverReceiver auswählenMethoden vs. FunktionenZusammenfassung – Struct-Verhalten5Maps im Detail
Maps von StructsPointer als Map-WertePrüfen auf Nil-MapsMaps vergleichenZusammenfassung – Wortfrequenz-Zähler8Projekt: Einfache Bestandsverwaltung
ProjektübersichtLagerbestand prüfen11Abschlussherausforderungen
Einfache KontaktlisteEinfacher Zahlen-ValidatorSammler für eindeutige Elemente3Interfaces (Die Grundlagen)
Was ist ein Interface?Ein Interface definierenEin Interface implementierenInterface-Typen verwendenLeeres InterfaceType AssertionsType SwitchZusammenfassung – Formen und Verhalten