[go] Flag 패키지의 기본 구조와 사용법
flag
패키지는 Go 언어에서 명령줄 인수를 파싱하고 옵션을 처리하는 데 사용되는 표준 라이브러리입니다. 이 패키지를 사용하여 프로그램에게 명령줄에서 입력한 옵션들을 손쉽게 읽고 처리할 수 있습니다.
flag
패키지의 기본 구조
flag
패키지를 사용하면 플래그(옵션)를 정의하고, 각 플래그에 대한 값을 설정하고, 명령줄에서 입력한 옵션을 읽어들일 수 있습니다. 여기에는 몇 가지 중요한 구조 요소가 있습니다.
-
Flag 변수 정의
프로그램에서 사용할 옵션에 대한 변수를 정의합니다.
import "flag" var optionVar = flag.String("option", "default", "Usage message")
위 예제에서
optionVar
은 옵션 이름이며,default
는 기본값, 그리고Usage message
는 이 옵션에 대한 설명입니다. -
flag.Parse() 호출
프로그램이 시작될 때
flag.Parse()
함수를 호출하여 명령줄 인수를 파싱하고 정의한 옵션 변수에 값을 할당합니다.flag.Parse()
-
옵션 값 사용
이제 변수들은 명령줄에서 받은 값 또는 기본값을 갖게 됩니다.
fmt.Println("Option:", *optionVar)
이제 flag
패키지를 사용하여 기본 구조를 이해했으니, 이를 실제로 어떻게 사용하는지 자세히 알아보겠습니다.
flag
패키지의 사용법
다음은 간단한 프로그램에서 flag
패키지를 사용하는 예제입니다.
package main
import (
"flag"
"fmt"
)
func main() {
// 옵션 정의
var name string
flag.StringVar(&name, "name", "Guest", "The name to greet")
// 옵션 파싱
flag.Parse()
// 옵션 값 사용
fmt.Println("Hello,", name)
}
위의 예제는 name
옵션을 정의하고, flag.Parse()
를 통해 이 옵션을 파싱합니다. 그리고 마지막으로 name
값을 출력합니다.
이제 flag
패키지를 사용하여 명령줄 인수를 처리하는 기본적인 방법을 이해하였습니다. 자신만의 프로그램에 flag
패키지를 사용해 보세요!