flag
Package Flag bawaan Go mengimplementasikan parsing argumen baris perintah. Package flag memudahkan pengembangan alat baris perintah.
Impor
go
import flagTipe
Tipe yang didukung adalah:
- bool
- int
- int64
- uint
- uint64
- float
- float64
- string
- duration
Definisi
Gunakan flag.Type() untuk mendefinisikan, nilai kembalian adalah pointer
go
name := flag.String("name", "张三", "Nama")
age := flag.Int("age", 15, "Usia")
sex := flag.Bool("sex", true, "Jenis Kelamin")Anda juga dapat menggunakan flag.TypeVar() untuk mendefinisikan
go
var name string
var age int
var sex bool
flag.StringVar(&name, "name", "张三", "Nama")
flag.IntVar(&age, "age", 15, "Usia")
flag.BoolVar(&sex, "sex", true, "Jenis Kelamin")Parsing
Panggil flag.Parse() untuk mem parsing argumen. Format argumen baris perintah yang didukung adalah sebagai berikut:
-flag xxx--flag xxx-flag=xxx--flag=xxx
Argumen tipe boolean harus menggunakan tanda sama dengan. Parsing Flag akan berhenti sebelum argumen non-baris perintah pertama.
Lainnya
go
func Args() []string // Mengembalikan semua argumen non-perintah
func NArg() int // Mengembalikan jumlah argumen non-baris perintah
func NFlag() int // Mengembalikan jumlah argumen baris perintahContoh
go
var name string
var age int
var sex bool
flag.StringVar(&name, "name", "张三", "Nama")
flag.IntVar(&age, "age", 15, "Usia")
flag.BoolVar(&sex, "sex", true, "Jenis Kelamin")
flag.Parse()
fmt.Println(name, age, sex)Setelah kompilasi, jalankan program di baris perintah
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
Usia (default 15)
-name string
Nama (default "张三")
-sex
Jenis Kelamin (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>