-
./test -vo out.png --size 256 input.txt
같은 GNU 표준을 따르는 명령줄 인자 파서
-
-h
및 --help
로 내장된 도움말 메시지 제공
- 태그 설정으로 구조체 필드에 인자 매핑
- 배열, 슬라이스, 구조체 같은 복합 타입 필드 지원
- 중첩된 서브 명령 지원
GNU 명령줄 인자 규칙
- 하이픈(
-
)으로 시작하는 항목은 옵션임
- 여러 옵션은 결합 가능 (
-abc
는 -a -b -c
와 동일함)
- 긴 옵션은 두 개의 하이픈(
--
)으로 시작 (--abc
)
- 옵션 이름은 영숫자만 가능
- 옵션 값은 공백, 등호(
=
), 또는 연속된 값으로 설정 가능 (-a1
, -a=1
, -a 1
모두 동일)
- 옵션과 비옵션 값은 섞여도 문제 없음
- 옵션은 어떤 순서로든 나타날 수 있음.
-
--
는 옵션 종료 의미로 이후 인자는 모두 비옵션으로 처리
- 단일
-
는 일반적으로 표준 입력 또는 출력을 의미
- 동일 옵션이 여러 번 지정되면 마지막 값이 적용됨
- 옵션은 여러 개의 값을 가질 수 있음 (
-a 1 2 3
은 [1,2,3]
으로 처리됨)
추가 기능
- 옵션 카운팅:
-vvv
는 v = 3
으로 설정됨
- 옵션 추가:
-v 1 -v 2
는 v = []int{1, 2}
로 설정됨
- 불리언 옵션:
--var
는 활성화하고 --no-var
는 비활성화함
- 옵션은 구조체, 슬라이스, 맵과 같은 복합 타입이 될 수 있음
- 옵션은 소스(예: SQL)에서 목록/딕셔너리 값을 가져올 수 있음