2 puan yazan xguru 2025-03-26 | 1 yorum | WhatsApp'ta paylaş
  • ./test -vo out.png --size 256 input.txt gibi GNU standardını izleyen bir komut satırı argüman ayrıştırıcısı
  • -h ve --help ile yerleşik yardım mesajı sunar
  • Etiket ayarlarıyla argümanları struct alanlarına eşler
  • Dizi, slice ve struct gibi bileşik tür alanlarını destekler
  • İç içe geçmiş alt komutları destekler

GNU komut satırı argüman kuralları

  • Tire (-) ile başlayan öğeler birer seçenektir
  • Birden fazla seçenek birleştirilebilir (-abc, -a -b -c ile aynıdır)
  • Uzun seçenekler çift tire (--) ile başlar (--abc)
  • Seçenek adları yalnızca alfasayısal olabilir
  • Seçenek değerleri boşluk, eşittir işareti (=) veya bitişik değerle verilebilir (-a1, -a=1, -a 1 aynıdır)
  • Seçenekler ve seçenek olmayan değerler karışık olabilir
  • Seçenekler herhangi bir sırada görünebilir
  • --, seçeneklerin sonu anlamına gelir; bundan sonraki tüm argümanlar seçenek olmayan olarak işlenir
  • Tek bir - genellikle standart girdi veya çıktıyı ifade eder
  • Aynı seçenek birden fazla kez belirtilirse son değer uygulanır
  • Seçenekler birden fazla değere sahip olabilir (-a 1 2 3, [1,2,3] olarak işlenir)

Ek özellikler

  • Seçenek sayımı: -vvv, v = 3 olarak ayarlanır
  • Seçenek ekleme: -v 1 -v 2, v = []int{1, 2} olarak ayarlanır
  • Boolean seçenekler: --var etkinleştirir, --no-var devre dışı bırakır
  • Seçenekler struct, slice ve map gibi bileşik türler olabilir
  • Seçenekler bir kaynaktan (ör. SQL) liste/sözlük değerleri alabilir

1 yorum

 
haung921209 2025-03-26

Ben cobra kullanıyordum, ona kıyasla argp flag'ler için epey çeşitli seçenekler sunuyor haha