[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 패키지를 적극적으로 활용하는 것이 좋습니다.