2 poin oleh xguru 2025-03-26 | 1 komentar | Bagikan ke WhatsApp
  • 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

 
haung921209 2025-03-26

Saya pernah memakai cobra, dan dibandingkan itu, argp memberi berbagai opsi untuk flag ya, haha