[go] Flag 패키지의 기능과 활용 방안

Go 언어에서 flag 패키지는 명령줄 인수를 처리하기 위한 강력한 기능을 제공합니다. 이 패키지를 사용하면 명령줄에서 입력된 플래그를 쉽게 처리하고 프로그램에 적용할 수 있습니다.

기능

flag 패키지는 다음과 같은 기능을 제공합니다.

  1. Flag 정의: 프로그램에서 사용할 플래그(옵션)를 정의할 수 있습니다.
  2. Flag 값 읽기: 명령줄에서 지정된 플래그 값을 읽어 올 수 있습니다.
  3. Flag 값 기본값 설정: 각 플래그에 기본값을 설정할 수 있습니다.
  4. Flag 값 변경: 프로그램 내에서 플래그 값을 변경할 수 있습니다.

활용 방안

다음은 flag 패키지를 활용한 예시 코드입니다.

package main

import (
	"flag"
	"fmt"
)

func main() {
	// 플래그 정의
	wordPtr := flag.String("word", "hello", "a string")
	numPtr := flag.Int("num", 42, "an int")
	boolPtr := flag.Bool("fork", false, "a bool")

	// 플래그 파싱
	flag.Parse()

	// 플래그 값 읽기
	fmt.Println("word:", *wordPtr)
	fmt.Println("num:", *numPtr)
	fmt.Println("fork:", *boolPtr)
}

위의 코드는 word, num, fork 세 가지 플래그를 정의하고, 해당 플래그들을 각각 string, int, bool 타입으로 파싱한 후 값을 출력하는 예제입니다.

flag 패키지를 사용하면 프로그램의 실행 시 동작을 유연하게 제어할 수 있으며, 특히 명령줄 인터페이스를 통해 프로그램을 실행하는 경우 유용하게 활용할 수 있습니다.

결론

flag 패키지는 Go 언어의 명령줄 인수 처리를 쉽게 만들어주는 강력한 도구입니다. 이를 통해 프로그램 실행시에 유연한 옵션 처리를 할 수 있으며, 명령줄 인터페이스를 통해 사용자와 상호작용할 때 편의성을 제공합니다.

자세한 내용은 공식 문서 https://golang.org/pkg/flag/를 참고할 수 있습니다.