[go] Flag 패키지를 활용하여 다양한 명령줄 인수 처리 방법

개요

프로그램을 실행할 때 사용자가 입력한 명령줄 인수를 쉽게 처리하고 접근하기 위해서는 flag 패키지를 사용할 수 있습니다. Go 언어의 표준 라이브러리인 flag 패키지는 명령줄 인수를 처리하는 데 유용한 기능을 제공합니다. 이번 포스트에서는 Go 언어의 flag 패키지를 사용하여 명령줄 인수를 처리하는 방법에 대해 알아보겠습니다.

명령줄 인수 처리하기

Go 언어의 flag 패키지는 명령줄 인수를 처리하는 데 사용됩니다. 다음은 기본적인 flag 선언 및 사용 예제입니다.

package main

import (
    "flag"
    "fmt"
)

func main() {
    // Flag를 선언하고 값을 저장할 변수를 지정합니다
    var name string
    flag.StringVar(&name, "name", "Guest", "사용자 이름")

    // Parse 함수를 호출하여 명령줄 인수를 처리합니다
    flag.Parse()

    // Flag로부터 값을 가져와 사용합니다
    fmt.Println("안녕하세요,", name)
}

위 예제에서는 flag.StringVar 함수를 사용하여 이름을 지정하는 name flag를 선언하고, flag.Parse 함수를 호출하여 명령줄 인수를 처리한 후에 name 값을 출력합니다.

다양한 타입의 명령줄 인수 처리하기

Go 언어의 flag 패키지는 문자열 외에도 정수, 부동소수점 등 다양한 타입의 명령줄 인수를 처리할 수 있습니다. 다음은 정수형 타입의 명령줄 인수를 처리하는 예제입니다.

package main

import (
    "flag"
    "fmt"
)

func main() {
    // Flag로 정수를 선언하고 값을 저장할 변수를 지정합니다
    var age int
    flag.IntVar(&age, "age", 18, "나이")

    // Parse 함수를 호출하여 명령줄 인수를 처리합니다
    flag.Parse()

    // Flag로부터 값을 가져와 사용합니다
    fmt.Println("당신의 나이는", age, "살입니다.")
}

위 예제에서는 flag.IntVar 함수를 사용하여 나이를 지정하는 age flag를 선언하고, flag.Parse 함수를 호출하여 명령줄 인수를 처리한 후에 age 값을 출력합니다.

결론

Go 언어의 flag 패키지는 간단하면서도 강력한 기능을 제공하여 명령줄 인수를 처리할 수 있습니다. 프로그램을 작성할 때 사용자로부터 입력받아야 하는 값이 있는 경우, flag 패키지를 활용하여 간편하게 명령줄 인수를 처리할 수 있습니다.


참고자료: