Parsing Flags
Flag'larni tahlil qilish
os.Argsni qo'lda tahlil qilish (-name=Aziz kabi) tez chalkashib ketadi. flag paketi buni siz uchun avtomatik qiladi: nomlangan parametrlarni ("flag"lar) o'qiydi, standart qiymat va tavsif bilan birga.
package main
import (
"flag"
"fmt"
"os"
)
func main() {
os.Args = []string{"myapp", "-name=Aziz", "-age=21"}
name := flag.String("name", "Dunyo", "ismingiz")
age := flag.Int("age", 0, "yoshingiz")
flag.Parse()
fmt.Println(*name, *age)
}flag.String(nom, standart, tavsif) — -name=... flag'ini kutadigan pointer (*string) qaytaradi (standart qiymat bilan). flag.Parse() — haqiqatan os.Argsni o'qib, ko'rsatgan flag'larni to'ldiradi; bu chaqiruv barcha `flag.String`/`flag.Int` e'lonlaridan KEYIN bo'lishi shart. Qiymatga murojaat qilish uchun pointer'ni yulduzcha bilan ochamiz: *name.
>_ Exercise
Ikkita flag'ni o'qing.
- •"host" flag'ini (standart "localhost") e'lon qiling
- •"port" flag'ini (standart 8080, int) e'lon qiling
- •flag.Parse() dan keyin ikkalasini chop eting
Stuck? Reveal a hint to help you.
Key Takeaway
Key Takeaway:
flag paketi nomlangan buyruq qatori parametrlarini standart qiymat va avtomatik tahlil bilan boshqarish imkonini beradi.
NEXT UP
Advanced Flag Patterns
$ go run main.go
Kodingizni ishga tushiring