가서 github.com/pborman/getopt
包来执行类似getopt
명령줄 구문 분석을 사용하는 방법을 알고 있습니다.
그러나 이 패키지는 각 명령줄 옵션에 대해 하나의 문자열 버전과 하나의 룬 버전만 지원하는 것 같습니다. 때로는 옵션을 지정하는 데 두 가지 이상의 방법이 필요합니다. 예를 들어 prog
라는 가상 프로그램의 경우 다음 코드가 모두 정확히 동일한 기능을 수행하고 싶습니다.
다음을 수행하고 각 변수의 값을 테스트할 수 있다는 것을 알고 있습니다 optrecurse
和 optrecursive
...
그러나 이상적으로는 이러한 네 가지 가능성 중 하나에 대한 값을 제공하는 단일 호출을 만들고 싶습니다.
나는 주어진 명령줄 옵션에 대해 두 가지 이상의 가능성이 있는 Ruby의 optionparser
패키지와 유사한 것을 원했습니다. 다음은 루비 예시입니다...
저는 비교적 새로운 사람이고 이 질문에 대한 답을 찾는 동안 뭔가를 간과하고 있을 수도 있습니다.
제 생각에는 주어진 명령줄 옵션을 지정하는 두 가지 이상의 방법을 제공하는 데 "이상한" 것은 없습니다.
저는 원래 이 "답변"에서 github.com/clagraff/argparse
包不再受支持。然而,我发现了一个更现代且仍然受支持的包,我可以使用它以类似于 ruby 和 python 等其他语言的参数解析包中提供的方式提供确切的功能:github.com/tcler/cmdline -go/cmdline
을 언급했습니다.
여기 Go에서 어떻게 작동하는지 보여주는 샘플 프로그램이 있습니다...
으아악다음 네 가지 방법으로 프로그램을 실행할 수 있으며 각 경우에 동일하게 작동합니다...
으아악네 가지 경우 모두 항상 다음을 출력합니다.
으아악옵션 없이 실행하면( 즉 , 그냥 go run prog.go
) 다음이 출력됩니다.
-x
와 같은 다른 명령줄 인수를 사용하여 실행하면 다음과 같이 실패합니다.
이제 모든 명령줄 옵션을 두 가지 이상의 방법으로 지정할 수 있는 go 프로그램을 작성할 수 있습니다.
위 내용은 두 개 이상의 명령줄 플래그가 동일한 동작을 제어하도록 하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!