Konfiguracja projektu
Część sekcji Logika i przepływ sterowania ścieżki GO w Coddy. Lekcja 20 z 68.
Wyzwanie
ŁatwyW ciągu kilku następnych lekcji zbudujesz prostą aplikację listy zadań działającą w wierszu poleceń, która umożliwia użytkownikom dodawanie, wyświetlanie, oznaczanie jako ukończone i usuwanie zadań.
W tym wyzwaniu utworzysz podstawę systemu zarządzania zadaniami, konfigurując podstawową strukturę danych i interfejs użytkownika. To pierwszy krok w budowaniu kompletnej aplikacji listy zadań, która będzie rozwijana w trakcie projektu.
Otrzymasz dwa dane wejściowe:
- Ciąg znaków reprezentujący nazwę aplikacji (np.
"MyTasks") - Ciąg znaków reprezentujący imię użytkownika (np.
"Alice")
Twoim zadaniem jest:
- Zdefiniować strukturę
Taskz dwoma polami:Name(string) — opis zadaniaCompleted(bool) — informacja, czy zadanie zostało ukończone
- Utworzyć wycinek struktur
Task, który będzie przechowywać listę zadań (początkowo pustą) - Wyświetlić wiadomość powitalną w formacie:
"Welcome to [app_name], [user_name]!" - Wyświetlić menu z następującymi opcjami, każdą w osobnym wierszu:
"1. Add Task""2. View Tasks""3. Complete Task""4. Remove Task""5. Exit"
- Wypisać bieżącą liczbę zadań w formacie:
"Current tasks: [count]"
To wyzwanie ustanawia podstawową strukturę, która będzie obsługiwać wszystkie przyszłe funkcje systemu zarządzania zadaniami. Struktura Task będzie podstawowym elementem służącym do przechowywania poszczególnych zadań, a wycinek będzie zarządzać ich kolekcją. Menu zapewnia przejrzysty interfejs, dzięki któremu użytkownicy mogą zrozumieć, jakie działania mogą wykonać.
Spróbuj swoich sił
package main
import "fmt"
func main() {
// Wczytaj dane wejściowe
var appName string
var userName string
fmt.Scanln(&appName)
fmt.Scanln(&userName)
// TODO: Napisz swój kod poniżej
// Zdefiniuj strukturę Task
// Utwórz slice struktur Task
// Wyświetl powitanie i menu
// Wyświetl aktualną liczbę zadań
}Wszystkie lekcje w sekcji Logika i przepływ sterowania
1Zaawansowane sterowanie przepływem
Instrukcja switch z `fallthrough`Przerywanie zagnieżdżonych pętliKontynuowanie określonej pętliInstrukcja `goto`Podsumowanie — zaawansowane sterowanie pętlami4Projekt: Prosta lista zadań
Konfiguracja projektuDodawanie zadania2Struktury i metody
Definiowanie metod dla strukturOdbiorniki przez wartośćOdbiorniki przez wskaźnikWybór odbiornikówMetody a funkcjePodsumowanie — działanie struktur5Mapy w szczegółach
Mapy strukturWskaźniki jako wartości mapSprawdzanie, czy mapy są nilPorównywanie mapPodsumowanie — licznik częstości słów3Interfejsy (podstawy)
Czym jest interfejs?Definiowanie interfejsuImplementowanie interfejsuUżywanie typów interfejsowychPusty interfejsAsercje typuPrzełącznik typówPodsumowanie – kształty i zachowaniaPoćwicz samodzielnie: Kompilator Go online