Go 언어에서는 flag
패키지를 사용하여 명령행 파라미터를 파싱할 수 있습니다. 이를 통해 명령행 옵션을 쉽게 처리하고 실행 중에 사용자 입력을 처리할 수 있습니다.
명령행 파라미터 정의하기
예를 들어, 다음과 같은 프로그램이 있다고 가정해봅시다.
package main
import (
"flag"
"fmt"
)
func main() {
var name string
var age int
flag.StringVar(&name, "name", "defaultName", "사용자 이름")
flag.IntVar(&age, "age", 0, "사용자 나이")
flag.Parse()
fmt.Printf("이름: %s, 나이: %d\n", name, age)
}
이 예제에서는 flag
패키지의 StringVar
와 IntVar
함수를 사용하여 각각 문자열과 정수형 파라미터를 정의하고 있습니다. 이 때, 각각의 함수는 해당 파라미터에 대한 포인터, 파라미터명, 기본값, 그리고 설명을 입력으로 받습니다.
명령행 파라미터 값 읽기
위의 예제에서 flag.Parse()
함수를 호출함으로써 프로그램이 실행될 때 명령행으로 전달된 파라미터들을 파싱할 수 있습니다. 사용자는 프로그램을 실행할 때 -name
이나 -age
와 같은 옵션을 지정하여 값을 전달할 수 있습니다.
예를 들어, 다음과 같이 프로그램을 실행할 수 있습니다.
go run main.go -name Alice -age 25
위의 명령어를 실행하면 “이름: Alice, 나이: 25”와 같은 결과가 출력됩니다. 이렇게 하면 프로그램이 명령행 파라미터를 올바르게 읽어와서 사용할 수 있습니다.
명령행 파싱을 통해 사용자는 실행 시에 원하는 옵션을 전달하고, 프로그램은 해당 옵션을 쉽게 읽어와서 처리할 수 있습니다.
요약
flag
패키지를 사용하면 Go 프로그램에서 명령행 파라미터를 쉽게 처리할 수 있습니다. 이를 통해 사용자는 프로그램을 실행할 때 옵션을 지정하고, 프로그램은 해당 옵션을 실행 중에 쉽게 읽어들일 수 있습니다.
flag
패키지는 간단하면서도 강력한 기능을 제공하여 명령행 파서로서 많이 사용되고 있습니다.
위 내용은 Go 공식 문서를 참고하여 작성되었습니다.