Alt Komutlar ve Komut Grupları
Çok düzeyli CLI hiyerarşileri oluşturma
Alt Komutlar ve Komut Grupları, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Go Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Go Academy kursu toplamda 4 dersten oluşur.
Hiyerarşik komutlar
Cobra, isteğe bağlı iç içe geçirmeyi destekler: kök → alt komut → alt-alt komut. Kullanıcılar kubectl get pods örneğindeki gibi app resource action çağrısını yapar.
Alt komut ekleme
Her alt komutu ayrı bir cobra.Command olarak oluşturun ve üst komutuna kaydedin:
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)
}Grup gösterimi (Cobra v1.6+)
Daha iyi bir düzenleme için yardım çıktısındaki komutları gösterim gruplarına atayın:
rootCmd.AddGroup(&cobra.Group{ID: "mgmt", Title: "Management Commands"})
userCmd.GroupID = "mgmt"Takma adlar
Kullanıcıların komutlar için kısa veya alternatif adlar kullanabilmesi amacıyla takma adlar ekleyin:
var userCmd = &cobra.Command{
Use: "user",
Aliases: []string{"users", "u"},
}Gizli komutlar
Hata ayıklama veya dahili komutları gizli olarak işaretleyin; böylece yardımda görünmezler ancak çalışmaya devam ederler:
cmd.Hidden = trueKullanımdan kaldırılan komutlar
Kullanıldıklarında bir uyarı görüntülemek için eski komutları kullanımdan kaldırılmış olarak işaretleyin:
cmd.Deprecated = "use 'new-command' instead"Öncesi ve sonrası kancaları
Bir komuta ve tüm alt komutlarına uygulanan kurulum/temizleme işlemleri için PersistentPreRunE ve PostRunE kullanın (örneğin herhangi bir alt komut çalışmadan önce bir DB bağlantısı başlatmak için).
rootCmd.PersistentPreRunE = func(cmd *cobra.Command, args []string) error {
return initDB()
}Yaprak komutlar için yardımı devre dışı bırakma
Cobra, varsayılan olarak help alt komutunu ekler. Uygulamanızın kendi yardım komutu varsa veya alt komut yapısı kafa karıştırıcı olacaksa bunu devre dışı bırakın.
rootCmd.SetHelpCommand(&cobra.Command{Hidden: true})Üst komuta erişme
Bir Run işlevinin içinde cmd.Parent(), üst komutu döndürür; bu, üst komutta tanımlanan bayraklara erişmek için kullanışlıdır.
Komutlar arasında gezinme
Kayıtlı tüm alt komutlar arasında yineleme yapmak için rootCmd.Commands() kullanın. Programlı iç gözlem veya belgeleri otomatik olarak oluşturmak için kullanışlıdır.
Man sayfası ve Markdown oluşturma
Cobra, cobra/doc paketiyle tüm komutlar için man sayfaları ve Markdown belgeleri oluşturabilir:
doc.GenMarkdownTree(rootCmd, "./docs")Hızlı Kontrol
Bir Cobra alt komutunu birden fazla ad altında nasıl kullanılabilir hâle getirirsiniz?
Özet: Alt Komutlar ve Gruplar
Temel noktalar:
- AddCommand komutları hiyerarşik olarak iç içe yerleştirir
- GroupID, Cobra v1.6+ sürümünde yardım gösterimini düzenler
- Kısa biçimler için takma adlar; dahili komutlar için Hidden
- Alt komutlar arasında ortak kurulum için PersistentPreRunE
Sıkça Sorulan Sorular
“Alt Komutlar ve Komut Grupları” dersi ücretsiz mi?
Evet — “Alt Komutlar ve Komut Grupları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Go Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Go Academy kursu toplamda 4 dersten oluşur.
“Alt Komutlar ve Komut Grupları” dersinde ne öğreneceğim?
Çok düzeyli CLI hiyerarşileri oluşturma Go Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Go Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Go Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Alt Komutlar ve Komut Grupları” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Go Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Go Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Cobra Temelleri
- Bayraklar ve Kalıcı Bayraklar
- Alt Komutlar ve Komut Grupları
- CLI Araçlarını Dağıtma