문제

누구든지 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

지정된 값을 플래그에 제공하면 기본값이 전달 된 값으로 덮어 씁니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top