문제
누구든지 GO에서 깃발을 설명 할 수 있습니까?
flag.Parse()
var omitNewline = flag.Bool("n", false, "don't print final newline")
해결책
보다 http://golang.org/pkg/flag/ 전체 설명을 위해.
flag.bool의 인수는 (이름 문자열, 값 bool, 사용법 문자열)입니다.
이름은 찾아야 할 인수이며, 값은 기본값이며 사용법은 -HELP 인수 또는 이와 유사한 깃발의 목적을 설명하며 Flag.Usage ()로 표시됩니다.
더 자세한 예제를 확인하십시오 여기
다른 팁
flag
명령 줄 인수를 구문 분석하는 데 사용됩니다. 명령 줄 인수로 "-n"을 통과하면 omitnewline이 true로 설정됩니다. 튜토리얼에서 조금 더 설명합니다.
플래그 패키지를 가져온 후 12 행은 Echo 's -N 플래그의 값을 보유하는 전역 변수를 만듭니다. 가변적 인 omitnewline에는 bool에 대한 포인터 인 *bool 유형이 있습니다.
깃발 명령 줄 프로그램의 옵션을 지정하는 일반적인 방법입니다.
package main
import (
"flag"
"fmt"
)
var (
env *string
port *int
)
// Basic flag declarations are available for string, integer, and boolean options.
func init() {
env = flag.String("env", "development", "a string")
port = flag.Int("port", 3000, "an int")
}
func main() {
// Once all flags are declared, call flag.Parse() to execute the command-line parsing.
flag.Parse()
// Here we’ll just dump out the parsed options and any trailing positional
// arguments. Note that we need to dereference the points with e.g. *evn to
// get the actual option values.
fmt.Println("env:", *env)
fmt.Println("port:", *port)
}
프로그램 실행 :
go run main.go
먼저 플래그없이 실행 프로그램을 사용해보십시오. 플래그를 생략하면 기본값을 자동으로 가져옵니다.
go run command-line-flags.go --env production --port 2000
지정된 값을 플래그에 제공하면 기본값이 전달 된 값으로 덮어 씁니다.
제휴하지 않습니다 StackOverflow