2 điểm bởi xguru 2025-03-26 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trình phân tích đối số dòng lệnh tuân theo chuẩn GNU như ./test -vo out.png --size 256 input.txt
  • Cung cấp thông báo trợ giúp tích hợp qua -h--help
  • Ánh xạ đối số vào các trường struct bằng thiết lập tag
  • Hỗ trợ các trường kiểu phức hợp như mảng, slice và struct
  • Hỗ trợ các lệnh con lồng nhau

Quy tắc đối số dòng lệnh GNU

  • Mục bắt đầu bằng dấu gạch ngang (-) là tùy chọn
  • Có thể gộp nhiều tùy chọn (-abc tương đương -a -b -c)
  • Tùy chọn dài bắt đầu bằng hai dấu gạch ngang (--abc)
  • Tên tùy chọn chỉ được chứa ký tự chữ và số
  • Giá trị tùy chọn có thể được đặt bằng khoảng trắng, dấu bằng (=) hoặc giá trị liền kề (-a1, -a=1, -a 1 đều như nhau)
  • Có thể trộn lẫn giá trị tùy chọn và không phải tùy chọn mà không gặp vấn đề gì
  • Tùy chọn có thể xuất hiện theo bất kỳ thứ tự nào
  • -- có nghĩa là kết thúc tùy chọn; mọi đối số sau đó đều được xử lý là không phải tùy chọn
  • Một dấu - đơn thường có nghĩa là đầu vào hoặc đầu ra tiêu chuẩn
  • Nếu cùng một tùy chọn được chỉ định nhiều lần thì giá trị cuối cùng sẽ được áp dụng
  • Tùy chọn có thể có nhiều giá trị (-a 1 2 3 sẽ được xử lý thành [1,2,3])

Tính năng bổ sung

  • Đếm tùy chọn: -vvv sẽ đặt v = 3
  • Cộng dồn tùy chọn: -v 1 -v 2 sẽ đặt v = []int{1, 2}
  • Tùy chọn boolean: --var để bật và --no-var để tắt
  • Tùy chọn có thể là kiểu phức hợp như struct, slice và map
  • Tùy chọn có thể lấy giá trị danh sách/từ điển từ nguồn (ví dụ: SQL)

1 bình luận

 
haung921209 2025-03-26

Tôi đã dùng cobra, còn so với nó thì argp cho khá nhiều tùy chọn cho flag nhỉ haha