GoDasturchi
Environment Variables

Environment Variables

Muhit o'zgaruvchilari

Muhit o'zgaruvchilari (environment variables) — operatsion tizim darajasida saqlanadigan sozlamalar (masalan PORT=8080). Ular parol yoki API kaliti kabi maxfiy ma'lumotlarni kodga yozmasdan berish uchun tez-tez ishlatiladi.

example.go
package main

import (
	"fmt"
	"os"
)

func main() {
	os.Setenv("APP_ENV", "production")

	env := os.Getenv("APP_ENV")
	fmt.Println(env)

	val, ok := os.LookupEnv("MISSING_VAR")
	fmt.Println(val, ok)

	port := os.Getenv("PORT")
	if port == "" {
		port = "8080"
	}
	fmt.Println(port)
}

os.Getenv(nom) o'zgaruvchi qiymatini qaytaradi, mavjud bo'lmasa — bo'sh matn (xato bermaydi). os.LookupEnv(nom) esa qiymat bilan birga "u haqiqatan o'rnatilganmi" degan boolni ham beradi — bu "o'zgaruvchi bo'sh matnga tenglashtirilganmi yoki umuman mavjud emasmi" farqini bilish kerak bo'lganda muhim. Standart qiymat berish naqshi ("agar PORT bo'lmasa, 8080 ishlat") CLI dasturlarda juda keng tarqalgan.

>_ Exercise

Konfiguratsiyani muhit o'zgaruvchisidan o'qing, standart qiymat bilan.

  • "LOG_LEVEL" ni os.Setenv bilan "debug" ga o'rnating
  • os.Getenv bilan o'qing va chop eting
  • "TIMEOUT" o'rnatilmagan — uni os.Getenv bilan o'qib, bo'sh bo'lsa "30s" standart qiymatini ishlating va chop eting

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

os.Getenv/os.LookupEnv — muhit o'zgaruvchilaridan sozlamalarni o'qish, odatda standart qiymat bilan birga ishlatiladi.

NEXT UP

Working with Standard Streams

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

Environment Variables

Muhit o'zgaruvchilari

Muhit o'zgaruvchilari (environment variables) — operatsion tizim darajasida saqlanadigan sozlamalar (masalan PORT=8080). Ular parol yoki API kaliti kabi maxfiy ma'lumotlarni kodga yozmasdan berish uchun tez-tez ishlatiladi.

example.go
package main

import (
	"fmt"
	"os"
)

func main() {
	os.Setenv("APP_ENV", "production")

	env := os.Getenv("APP_ENV")
	fmt.Println(env)

	val, ok := os.LookupEnv("MISSING_VAR")
	fmt.Println(val, ok)

	port := os.Getenv("PORT")
	if port == "" {
		port = "8080"
	}
	fmt.Println(port)
}

os.Getenv(nom) o'zgaruvchi qiymatini qaytaradi, mavjud bo'lmasa — bo'sh matn (xato bermaydi). os.LookupEnv(nom) esa qiymat bilan birga "u haqiqatan o'rnatilganmi" degan boolni ham beradi — bu "o'zgaruvchi bo'sh matnga tenglashtirilganmi yoki umuman mavjud emasmi" farqini bilish kerak bo'lganda muhim. Standart qiymat berish naqshi ("agar PORT bo'lmasa, 8080 ishlat") CLI dasturlarda juda keng tarqalgan.

>_ Exercise

Konfiguratsiyani muhit o'zgaruvchisidan o'qing, standart qiymat bilan.

  • "LOG_LEVEL" ni os.Setenv bilan "debug" ga o'rnating
  • os.Getenv bilan o'qing va chop eting
  • "TIMEOUT" o'rnatilmagan — uni os.Getenv bilan o'qib, bo'sh bo'lsa "30s" standart qiymatini ishlating va chop eting

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

os.Getenv/os.LookupEnv — muhit o'zgaruvchilaridan sozlamalarni o'qish, odatda standart qiymat bilan birga ishlatiladi.

NEXT UP

Working with Standard Streams