- Parser argumen command line yang mengikuti standar GNU seperti
./test -vo out.png --size 256 input.txt
- Menyediakan pesan bantuan bawaan melalui
-h dan --help
- Memetakan argumen ke field struct dengan pengaturan tag
- Mendukung field bertipe kompleks seperti array, slice, dan struct
- Mendukung subperintah bertingkat
Aturan argumen command line GNU
- Item yang diawali tanda hubung (
-) adalah opsi
- Beberapa opsi bisa digabung (
-abc sama dengan -a -b -c)
- Opsi panjang diawali dua tanda hubung (
--) (--abc)
- Nama opsi hanya boleh alfanumerik
- Nilai opsi bisa ditetapkan dengan spasi, tanda sama dengan (
=), atau nilai yang menempel (-a1, -a=1, -a 1 semuanya sama)
- Opsi dan nilai non-opsi bisa dicampur tanpa masalah
- Opsi bisa muncul dalam urutan apa pun.
-- berarti akhir opsi, sehingga semua argumen setelahnya diperlakukan sebagai non-opsi
- Satu
- biasanya berarti input atau output standar
- Jika opsi yang sama ditentukan beberapa kali, nilai terakhir yang diterapkan
- Opsi bisa memiliki beberapa nilai (
-a 1 2 3 diproses sebagai [1,2,3])
Fitur tambahan
- Penghitungan opsi:
-vvv menetapkan v = 3
- Penambahan opsi:
-v 1 -v 2 menetapkan v = []int{1, 2}
- Opsi boolean:
--var mengaktifkan dan --no-var menonaktifkan
- Opsi dapat berupa tipe kompleks seperti struct, slice, dan map
- Opsi dapat mengambil nilai daftar/kamus dari sumber (misalnya SQL)
1 komentar
Saya pernah memakai cobra, dan dibandingkan itu, argp memberi berbagai opsi untuk
flagya, haha