0Pricing
Go Academy · Ders

Cobra Temelleri

Kök komut, Run, Args ve yardım oluşturma

Cobra Temelleri, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 1. 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.

Cobra nedir?

Cobra, CLI uygulamaları oluşturmak için en popüler Go kitaplığıdır. Komutlar, bayraklar, alt komutlar, yardım oluşturma, kabuk tamamlama ve bağımsız değişken doğrulama özellikleri sağlar.

Cobra'yı yükleme

cobra'yı bağımlılık olarak ekleyin ve isteğe bağlı olarak CLI oluşturucuyu kullanın:

go get github.com/spf13/cobra
// Optional: cobra-cli for scaffolding
go install github.com/spf13/cobra-cli@latest
cobra-cli init myapp

Kök komut

Her Cobra uygulamasının bir kök komutu vardır. Bu komutu Use, Short açıklaması ve bir Run işleviyle tanımlayın:

var rootCmd = &cobra.Command{
    Use:   "myapp",
    Short: "My awesome CLI",
    Run: func(cmd *cobra.Command, args []string) {
        fmt.Println("Hello from root!")
    },
}
func main() { rootCmd.Execute() }

cobra.Command yapısı

Temel alanlar: Use (komut adı + özeti), Short (tek satırlık açıklama), Long (ayrıntılı yardım), Run (komutu yürütür), RunE (hata döndürür).

Hata yayılımı için RunE

Hataları döndürmek için Run yerine RunE kullanın. Cobra hatayı yazdırır ve sıfır olmayan bir kodla otomatik olarak çıkar.

var rootCmd = &cobra.Command{
    RunE: func(cmd *cobra.Command, args []string) error {
        return doWork()
    },
}

Alt komut ekleme

Alt komutları ayrı cobra.Command değerleri olarak oluşturun ve AddCommand ile köke ekleyin:

var serveCmd = &cobra.Command{
    Use:   "serve",
    Short: "Start the server",
    RunE:  runServe,
}
func init() { rootCmd.AddCommand(serveCmd) }

Cobra proje yapısı

Geleneksel düzen: her alt komut için bir dosya içeren cmd/ dizini ve root.go. main.go yalnızca cmd.Execute() çağrısını yapar.

cmd/
  root.go    // rootCmd definition
  serve.go   // serveCmd
  migrate.go // migrateCmd
main.go

Bağımsız değişken doğrulama

cobra.ExactArgs, MinimumNArgs gibi yerleşik doğrulayıcıları veya özel bir ValidArgsFunction kullanın:

var cmd = &cobra.Command{
    Args: cobra.ExactArgs(2),
    RunE: func(cmd *cobra.Command, args []string) error {
        fmt.Println(args[0], args[1])
        return nil
    },
}

Otomatik oluşturulan yardım

Cobra her komut için --help / -h seçeneklerini ve otomatik olarak bir help alt komutunu oluşturur. Metin Use, Short, Long ve bayraklardan alınır.

Kabuk tamamlama

Cobra, rootCmd.GenBashCompletion veya yerleşik completion alt komutu aracılığıyla bash, zsh, fish ve PowerShell için tamamlama betiklerini kullanıma hazır olarak oluşturur.

Viper ile tümleştirme

Yapılandırma yönetimi için Cobra'yı Viper ile birleştirin: Cobra ile tanımlanan bayraklar Viper anahtarlarına bağlanır; böylece değerler bayraklardan, ortam değişkenlerinden veya yapılandırma dosyalarından gelebilir.

Hızlı Kontrol

cobra.Command.Run ile RunE arasındaki fark nedir?

Özet: Cobra Temelleri

Temel noktalar:

  • Use/Short/RunE içeren cobra.Command temel yapı taşıdır
  • Hiyerarşik komutlar için rootCmd.AddCommand(subCmd)
  • Bağımsız değişken doğrulaması için cobra.ExactArgs/MinimumNArgs
  • Yardım ve tamamlama otomatik olarak oluşturulur

Sıkça Sorulan Sorular

“Cobra Temelleri” dersi ücretsiz mi?

Evet — “Cobra Temelleri” 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.

“Cobra Temelleri” dersinde ne öğreneceğim?

Kök komut, Run, Args ve yardım 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 1. dersidir.

“Cobra Temelleri” 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

  1. Cobra Temelleri
  2. Bayraklar ve Kalıcı Bayraklar
  3. Alt Komutlar ve Komut Grupları
  4. CLI Araçlarını Dağıtma
← Go Academy Sayfasına Dön