>백엔드 개발 >Golang >Go에서 하위 명령에 대해 독립적인 FlagSet을 정의하고 사용하는 방법은 무엇입니까?

Go에서 하위 명령에 대해 독립적인 FlagSet을 정의하고 사용하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-12-09 02:26:09611검색

How to Define and Use Independent FlagSets in Go for Subcommands?

GoLang에서 독립적인 FlagSet 정의

GoLang의 FlagSet 유형을 사용하면 개발자가 고유한 플래그 집합을 정의할 수 있습니다. 이 기능은 명령줄 인터페이스에서 하위 명령을 구현할 때 특히 유용합니다. 그러나 질문이 생깁니다. 이러한 분리를 어떻게 효과적으로 달성할 수 있습니까?

실제 독립 FlagSet

자율 FlagSet를 설정하려면 하위 명령을 구별하고 이후에 호출하는 것이 중요합니다. 해당 FlagSet을 구문 분석합니다. 다음 향상된 예제를 고려하십시오.

f1 := flag.NewFlagSet("f1", flag.ContinueOnError)
silent := f1.Bool("silent", false, "")
f2 := flag.NewFlagSet("f2", flag.ContinueOnError)
loud := f2.Bool("loud", false, "")

switch os.Args[1] {
case "apply":
    if err := f1.Parse(os.Args[2:]); err == nil {
        fmt.Println("apply", *silent)
    }
case "reset":
    if err := f2.Parse(os.Args[2:]); err == nil {
        fmt.Println("reset", *loud)
    }
}

이 코드에서는 두 개의 FlagSet을 정의합니다. 하나는 적용 명령용이고 다른 하나는 재설정 명령용입니다. switch 문은 하위 명령을 식별하고 지정된 FlagSet에서 Parse를 호출하여 각 명령에 대한 플래그를 효과적으로 격리합니다.

위 내용은 Go에서 하위 명령에 대해 독립적인 FlagSet을 정의하고 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.