[go] cmd 패키지를 사용한 명령행 옵션 처리
  1. 소개
  2. 옵션 처리
  3. 플래그 값 읽기
  4. 인수 값 읽기
  5. 결론

소개

Go 언어의 내장 패키지인 flag를 사용하면 명령행 옵션을 쉽게 처리할 수 있습니다. 이 패키지를 사용하면 다양한 형식의 옵션을 처리할 수 있으며, 사용법도 간단합니다.

이 블로그에서는 flag 패키지를 사용하여 명령행 옵션을 처리하는 방법에 대해 살펴보겠습니다.

옵션 처리

flag 패키지를 사용하면 명령행에서 전달된 옵션을 간단히 처리할 수 있습니다.

예를 들어, 다음과 같이 -name이라는 옵션을 처리할 수 있습니다.

import "flag"

name := flag.String("name", "guest", "사용자 이름")
flag.Parse()
fmt.Println("안녕하세요, ", *name, "님!")

위 코드에서 flag.String 함수를 사용하여 name이라는 옵션을 정의하고, 기본값을 guest로 지정했습니다. 그리고 Parse 함수를 호출하여 명령행 옵션을 파싱합니다.

플래그 값 읽기

flag.String 함수를 사용하여 문자열 값을 읽는 것 외에도, flag 패키지는 Int, Bool, Float64 등 다양한 타입의 값도 처리할 수 있습니다.

예를 들어, age라는 정수형 옵션을 처리하는 방법은 다음과 같습니다.

age := flag.Int("age", 18, "사용자 나이")
flag.Parse()
fmt.Println("당신은 ", *age, "살 입니다.")

flag.Int 함수를 사용하여 age라는 정수형 옵션을 정의하고, 기본값을 18로 지정했습니다.

인수 값 읽기

때로는 명령행 옵션으로 넘기기보다는 명령행의 인수로 값을 받아야 할 때도 있습니다.

이럴 때도 flag 패키지를 사용하여 인수 값을 처리할 수 있습니다. 예를 들어, flag.Args 함수를 사용하여 명령행 인수를 처리할 수 있습니다.

flag.Parse()
args := flag.Args()
for _, arg := range args {
    fmt.Println("인수:", arg)
}

결론

Go 언어의 flag 패키지를 사용하면 명령행 옵션을 쉽게 처리할 수 있습니다. 이를 통해 프로그램을 유연하게 제어할 수 있으며, 사용자로부터 값을 입력받을 때 유용하게 사용할 수 있습니다.

위에서 설명한 내용을 참고하여 프로그램에 필요한 명령행 옵션을 간편하게 처리해보세요!