이 코드는 실행 할 수 있지만 아직은 명령행 인자를 받지 못하기 때문에 기본 값만을 출력한다.
flag패키지는 string, integer, boolean 타입의 옵션을 처리 할 수 있다. flag.String("word","foo", "a string") 코드를 보자. "world"가 옵션이고 "foo"는 기본 값이다. world 옵션을 생략 할 경우 world에 "foo"가 입력된다. 마지막 값 "a string"는 도움말이다. flag 패키지는 도움 말을 위한 -h 옵션을 기본으로 지원한다. flag 메서드들은 모두 포인터를 반환한다. 따라서 코드에서 값을 사용하기 위해서는 포인터를 사용해야 한다. fmt.Println 메서드를 보면 모두 포인터를 사용하고 있음을 알 수 있다.
flag.Int 는 integer 값을 옵션으로 받기 위해서, flag.Boolean은 불리언 값을 옵션으로 받기 위해서 사용한다.
아래 flag 플래그 사용 예제들이다.
# go build command-line-flags.go
# ./command-line-flags -word=opt -numb=7 -fork -svar=flag
word: opt
numb: 7
fork: true
svar: flag
tail: []
# ./command-line-flag -h
Usage of ./command-line-flags:
-fork=false: a bool
-numb=42: an int
-svar="bar": a string var
-word="foo": a string
# ./command-line-flags -word=opt a1 a2 a3 -numb=7
word: opt
numb: 42
fork: false
svar: bar
tail: [a1 a2 a3 -numb=7]
# ./command-line-flags -wat
flag provided but not defined: -wat
Usage of ./command-line-flags:
예제로 살펴보는 Go : Command-Line Flags
Recent Posts
Archive Posts
Tags