- Parser argumen command line yang mengikuti standar GNU seperti
./test -vo out.png --size 256 input.txt - Menyediakan pesan bantuan bawaan melalui
-hdan--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 (
-abcsama 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 1semuanya 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 3diproses sebagai[1,2,3])
Fitur tambahan
- Penghitungan opsi:
-vvvmenetapkanv = 3 - Penambahan opsi:
-v 1 -v 2menetapkanv = []int{1, 2} - Opsi boolean:
--varmengaktifkan dan--no-varmenonaktifkan - 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