argp - Trình phân tích đối số dòng lệnh kiểu GNU cho Go
(github.com/tdewolff)- 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
-hvà--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 (
-abctươ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 3sẽ được xử lý thành[1,2,3])
Tính năng bổ sung
- Đếm tùy chọn:
-vvvsẽ đặtv = 3 - Cộng dồn tùy chọn:
-v 1 -v 2sẽ đặtv = []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
Tôi đã dùng
cobra, còn so với nó thìargpcho khá nhiều tùy chọn choflagnhỉ haha