argp - Go için GNU tarzı komut satırı argüman ayrıştırıcısı
(github.com/tdewolff)./test -vo out.png --size 256 input.txtgibi GNU standardını izleyen bir komut satırı argüman ayrıştırıcısı-hve--helpile 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 -cile 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 1aynı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 = 3olarak ayarlanır - Seçenek ekleme:
-v 1 -v 2,v = []int{1, 2}olarak ayarlanır - Boolean seçenekler:
--varetkinleştirir,--no-vardevre 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
Ben
cobrakullanıyordum, ona kıyaslaargpflag'ler için epey çeşitli seçenekler sunuyor haha