[go] Flag 패키지를 활용한 명령줄 플래그 처리 패턴
Go 언어를 사용하여 명령줄 도구를 개발할 때, flag 패키지는 매우 유용한 기능을 제공합니다. 이 패키지를 사용하면 명령줄에서 전달된 옵션과 플래그를 쉽게 처리할 수 있습니다.
flag 패키지 소개
flag 패키지는 명령줄 플래그를 해석하는 데에 사용됩니다. 이 패키지를 사용하면 사용자의 입력에 따라 프로그램 동작을 변경할 수 있습니다. Go 표준 라이브러리에 포함되어 있기 때문에 별도의 설치 과정이 필요하지 않습니다.
기본적인 사용법
다음은 flag 패키지를 사용하여 명령줄 플래그를 처리하는 간단한 예제 코드입니다.
package main
import (
"flag"
"fmt"
)
func main() {
// 플래그 선언
wordPtr := flag.String("word", "hello", "a string")
// 파싱
flag.Parse()
// 플래그 값 출력
fmt.Println("word:", *wordPtr)
}
위의 코드에서 flag.String
함수를 사용하여 “word” 플래그를 선언했습니다. 그리고 flag.Parse()
를 호출하여 명령줄에서 전달된 플래그를 파싱합니다. 또한 플래그 값을 사용하기 위해서 *wordPtr
을 통해 값에 접근합니다.
추가적인 기능
flag 패키지에는 다양한 유형의 플래그를 처리할 수 있는 다양한 함수와 메서드가 있습니다. 예를 들어 flag.Int
, flag.Bool
, flag.Float64
등을 사용하여 각각의 유형에 맞는 플래그를 처리할 수 있습니다.
또한, -h
나 --help
와 같은 표준 플래그를 사용하여 도움말 메시지를 출력하는 기능도 제공됩니다.
마치며
flag 패키지는 Go 언어를 사용하여 명령줄 도구를 개발할 때 매우 유용한 패키지입니다. 명령줄 인터페이스를 간단하게 처리하고자 하는 경우, flag 패키지를 적극적으로 활용하는 것이 좋습니다.