Podpolecenia i grupy poleceń
Tworzenie wielopoziomowych hierarchii CLI
Podpolecenia i grupy poleceń to bezpłatna lekcja Go Academy na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Go Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Go Academy zawiera 4 lekcji w sumie.
Polecenia hierarchiczne
Cobra obsługuje dowolne zagnieżdżanie: polecenie główne → podpolecenie → podpodpolecenie. Użytkownicy wywołują app resource action, na przykład kubectl get pods.
Dodawanie podpoleceń
Każde podpolecenie należy utworzyć jako osobny cobra.Command i zarejestrować je u jego polecenia nadrzędnego:
var userCmd = &cobra.Command{Use: "user", Short: "Manage users"}
var userCreateCmd = &cobra.Command{Use: "create", Short: "Create user", RunE: createUser}
func init() {
userCmd.AddCommand(userCreateCmd)
rootCmd.AddCommand(userCmd)
}Wyświetlanie grup (Cobra v1.6+)
Należy przypisać polecenia do grup wyświetlanych w treści pomocy, aby poprawić jej organizację:
rootCmd.AddGroup(&cobra.Group{ID: "mgmt", Title: "Management Commands"})
userCmd.GroupID = "mgmt"Aliasy
Należy dodać aliasy, aby użytkownicy mogli korzystać ze skróconych lub alternatywnych nazw poleceń:
var userCmd = &cobra.Command{
Use: "user",
Aliases: []string{"users", "u"},
}Ukryte polecenia
Należy oznaczyć polecenia debugujące lub wewnętrzne jako ukryte, aby nie pojawiały się w pomocy, ale nadal działały:
cmd.Hidden = truePrzestarzałe polecenia
Należy oznaczyć stare polecenia jako przestarzałe, aby podczas ich użycia wyświetlać ostrzeżenie:
cmd.Deprecated = "use 'new-command' instead"Haki Pre i Post
Należy używać PersistentPreRunE i PostRunE do konfiguracji i sprzątania dotyczących polecenia oraz wszystkich jego podpoleceń (np. do zainicjowania połączenia z bazą danych przed uruchomieniem dowolnego podpolecenia).
rootCmd.PersistentPreRunE = func(cmd *cobra.Command, args []string) error {
return initDB()
}Wyłączanie pomocy dla poleceń końcowych
Cobra domyślnie dodaje help jako podpolecenie. Należy je wyłączyć, jeśli aplikacja ma własne polecenie pomocy lub struktura podpoleceń mogłaby być myląca.
rootCmd.SetHelpCommand(&cobra.Command{Hidden: true})Dostęp do polecenia nadrzędnego
Wewnątrz funkcji Run cmd.Parent() zwraca polecenie nadrzędne, co jest przydatne do uzyskiwania dostępu do flag zdefiniowanych dla tego polecenia.
Przechodzenie po poleceniach
Należy użyć rootCmd.Commands(), aby przeiterować po wszystkich zarejestrowanych podpoleceniach. Jest to przydatne do programowej introspekcji lub automatycznego generowania dokumentacji.
Generowanie stron podręcznika i dokumentacji Markdown
Cobra może generować strony podręcznika i dokumentację Markdown dla wszystkich poleceń za pomocą pakietu cobra/doc:
doc.GenMarkdownTree(rootCmd, "./docs")Szybki test
Jak udostępnić podpolecenie Cobra pod wieloma nazwami?
Podsumowanie: podpolecenia i grupy
Najważniejsze informacje:
- AddCommand tworzy hierarchię poleceń
- GroupID organizuje wyświetlanie pomocy w Cobra v1.6+
- Aliasy służą do tworzenia skróconych nazw, a Hidden do ukrywania poleceń wewnętrznych
- PersistentPreRunE służy do współdzielonej konfiguracji podpoleceń
Często zadawane pytania
Czy lekcja „Podpolecenia i grupy poleceń” jest bezpłatna?
Tak — pełny tekst „Podpolecenia i grupy poleceń” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Go Academy, przejdź na CoddyKit PRO. Kurs Go Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Podpolecenia i grupy poleceń”?
Tworzenie wielopoziomowych hierarchii CLI Ćwiczysz Go Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć Go Academy?
Nie wymagamy żadnego doświadczenia. Go Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.
Ile czasu zajmuje lekcja „Podpolecenia i grupy poleceń”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji Go Academy?
Tak. Każda lekcja Go Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Podstawy Cobra
- Flagi i flagi trwałe
- Podpolecenia i grupy poleceń
- Dystrybucja narzędzi CLI