GoDasturchi
Parsing Flags

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.

example.go
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.

Hints (0/3)

Key Takeaway

Key Takeaway:

flag paketi nomlangan buyruq qatori parametrlarini standart qiymat va avtomatik tahlil bilan boshqarish imkonini beradi.

NEXT UP

Advanced Flag Patterns

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

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.

example.go
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.

Hints (0/3)

Key Takeaway

Key Takeaway:

flag paketi nomlangan buyruq qatori parametrlarini standart qiymat va avtomatik tahlil bilan boshqarish imkonini beradi.

NEXT UP

Advanced Flag Patterns