Skip to content

flag

Go dilinin yerleşik Flag paketi komut satırı parametrelerinin ayrıştırılmasını gerçekleştirir. Flag paketi komut satırı araçları geliştirmeyi daha basit hale getirir.

İçe Aktarma

go
import flag

Tipler

Desteklenen tipler şunlardır:

  • bool
  • int
  • int64
  • uint
  • uint64
  • float
  • float64
  • string
  • duration

Tanımlama

flag.Type() kullanarak tanımlama yapın, dönüş değeri işaretçidir

go
name := flag.String("name", "张三", "İsim")
age := flag.Int("age", 15, "Yaş")
sex := flag.Bool("sex", true, "Cinsiyet")

flag.TypeVar() kullanarak da tanımlayabilirsiniz

go
var name string
var age int
var sex bool
flag.StringVar(&name, "name", "张三", "İsim")
flag.IntVar(&age, "age", 15, "Yaş")
flag.BoolVar(&sex, "sex", true, "Cinsiyet")

Ayrıştırma

Parametreleri ayrıştırmak için flag.Parse() çağrılır. Desteklenen komut satırı parametre formatları şunlardır:

  • -flag xxx
  • --flag xxx
  • -flag=xxx
  • --flag=xxx

Boolean tip parametreler eşittir işareti kullanmalıdır. Flag ayrıştırma ilk komut satırı olmayan parametreden önce durur.

Diğerleri

go
func Args() []string //Tüm komut olmayan parametreleri döndürür

func NArg() int //Komut satırı olmayan parametrelerin sayısını döndürür

func NFlag() int //Komut satırı parametrelerinin sayısını döndürür

Örnek

go
var name string
var age int
var sex bool
flag.StringVar(&name, "name", "张三", "İsim")
flag.IntVar(&age, "age", 15, "Yaş")
flag.BoolVar(&sex, "sex", true, "Cinsiyet")

flag.Parse()
fmt.Println(name, age, sex)

Derlemeden sonra komut satırında programı başlatın

powershell
PS D:\WorkSpace\Code\GoProject\bin> .\go_build_GoProject_src_main.exe
张三 15 true
PS D:\WorkSpace\Code\GoProject\bin> .\go_build_GoProject_src_main.exe -h
Usage of D:\WorkSpace\Code\GoProject\bin\go_build_GoProject_src_main.exe:
  -age int
        Yaş (default 15)
  -name string
        İsim (default "张三")
  -sex
        Cinsiyet (default true)
PS D:\WorkSpace\Code\GoProject\bin> .\go_build_GoProject_src_main.exe -age 15 -name "李四" -sex=false
李四 15 false
PS D:\WorkSpace\Code\GoProject\bin>

Golang by www.golangdev.cn edit