- 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 và --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
Tôi đã dùng
cobra, còn so với nó thìargpcho khá nhiều tùy chọn choflagnhỉ haha