0Pricing
Go Academy · Ders

Bayraklar ve Kalıcı Bayraklar

String, int ve bool bayrakları ile Viper tümleştirmesi

Bayraklar ve Kalıcı Bayraklar, CoddyKit'te ücretsiz bir Go Academy dersidir. Bu, 4 dersinin 2. 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.

Yerel bayraklar

Yerel bayraklar yalnızca tanımlandıkları komuta uygulanır. cmd.Flags() kullanın:

var port int
serveCmd.Flags().IntVar(&port, "port", 8080, "HTTP server port")

Kalıcı bayraklar

Kalıcı bayraklar, komut ve tüm alt komutları tarafından devralınır. cmd.PersistentFlags() kullanın:

var verbose bool
rootCmd.PersistentFlags().BoolVarP(&verbose, "verbose", "v", false, "Enable verbose output")

Kısa bayraklar

Tek harflik bir kısaltma eklemek için *VarP varyantlarını kullanın:

cmd.Flags().StringVarP(&output, "output", "o", "stdout", "Output destination")

Bayrak türleri

Cobra (pflag aracılığıyla) String, Bool, Int, Int64, Float64, StringSlice, Duration, Count ve daha fazlasını destekler. Her türün bir Var varyantı (işaretçi alır) ve bir kolaylık varyantı (işaretçi döndürür) vardır.

Zorunlu bayraklar

Bir bayrağı zorunlu olarak işaretleyin — sağlanmazsa Cobra hata verir:

cmd.MarkFlagRequired("config")

Bayrak grupları

MarkFlagsRequiredTogether ve MarkFlagsMutuallyExclusive ile bayrakları birbirini dışlayan veya birlikte zorunlu olacak şekilde işaretleyin:

cmd.MarkFlagsRequiredTogether("user", "password")
cmd.MarkFlagsMutuallyExclusive("json", "yaml")

StringSlice bayrağı

Virgülle ayrılmış bir liste veya yinelenen bayraklar olarak birden fazla değeri kabul edin:

var tags []string
cmd.Flags().StringSliceVar(&tags, "tags", nil, "Tags (comma-separated)")
// Usage: --tags a,b,c or --tags a --tags b

Bayrakları Viper'a bağlama

Bir cobra bayrağını Viper anahtarına bağlayın; böylece değer ortam değişkeninden veya yapılandırma dosyasından da gelebilir:

viper.BindPFlag("port", serveCmd.Flags().Lookup("port"))
viper.BindEnv("port", "APP_PORT")

Varsayılan değer gösterimi

Cobra, varsayılan değeri yardım metninde otomatik olarak gösterir. Yaygın durum için kutudan çıkar çıkmaz çalışan açık bir varsayılan değer sağlayın.

Bayrak değerlerine erişme

Bayrak değerlerine bağladığınız işaretçi üzerinden erişin veya işaretçi erişilebilir değilse bunları komutun bayrak kümesinde adlarına göre arayın:

port, _ := cmd.Flags().GetInt("port")

Changed yöntemi

cmd.Flags().Changed("flag-name"), yalnızca kullanıcı bayrağı açıkça ayarladıysa true döndürür. "sağlanmadı" ile "varsayılan değerle sağlandı" durumlarını ayırt etmek için kullanın.

Hızlı Kontrol

Cobra'da yerel bayrak ile kalıcı bayrak arasındaki fark nedir?

Özet: Bayraklar ve Kalıcı Bayraklar

Temel noktalar:

  • cmd.Flags(): yerel; cmd.PersistentFlags(): alt komutlar tarafından devralınır
  • Kısa biçim için *VarP; zorunlu bayraklar için MarkFlagRequired
  • İlişkiler için MarkFlagsRequiredTogether / MarkFlagsMutuallyExclusive
  • Kullanıcının bir bayrağı açıkça ayarlayıp ayarlamadığını algılamak için Changed()

Sıkça Sorulan Sorular

“Bayraklar ve Kalıcı Bayraklar” dersi ücretsiz mi?

Evet — “Bayraklar ve Kalıcı Bayraklar” 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.

“Bayraklar ve Kalıcı Bayraklar” dersinde ne öğreneceğim?

String, int ve bool bayrakları ile Viper tümleştirmesi 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 2. dersidir.

“Bayraklar ve Kalıcı Bayraklar” 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