Go by Example မြန်မာဘာသာ: Environment Variables

Environment variables သည် Unix ပရိုဂရမ်များသို့ configuration အချက်အလက်များ ပေးပို့ရန်အတွက် universal နည်းလမ်းတစ်ခုဖြစ်သည်။ Environment variables များကို မည်သို့ သတ်မှတ်ခြင်း၊ ရယူခြင်းနှင့် စာရင်းပြုစုခြင်း(list)တို့ကို ကြည့်ကြပါစို့။

package main
import (
    "fmt"
    "os"
    "strings"
)
func main() {

key/value တွဲတစ်ခုကို သတ်မှတ်ရန် os.Setenv ကို အသုံးပြုပါ။ key တစ်ခုအတွက် တန်ဖိုးကို ရယူရန် os.Getenv ကို အသုံးပြုပါ။ အကယ်၍ key သည် environment တွင် မရှိပါက ဤ function သည် စာကြောင်းအလွတ်တစ်ခုကို ပြန်ပေးပါလိမ့်မည်။

    os.Setenv("FOO", "1")
    fmt.Println("FOO:", os.Getenv("FOO"))
    fmt.Println("BAR:", os.Getenv("BAR"))

environment ရှိ key/value တွဲအားလုံးကို စာရင်းပြုစု(list)ရန် os.Environ ကို အသုံးပြုပါ။ ဤ function သည် KEY=value ပုံစံဖြင့် စာကြောင်းများ၏ slice တစ်ခုကို ပြန်ပေးပါသည်။ သင်သည် ၎င်းတို့ကို strings.SplitN ဖြင့် key နှင့် value ကို ရရှိနိုင်ပါသည်။ ဤနေရာတွင် ကျွန်ုပ်တို့သည် key အားလုံးကို ပုံနှိပ်ဖော်ပြထားပါသည်။

    fmt.Println()
    for _, e := range os.Environ() {
        pair := strings.SplitN(e, "=", 2)
        fmt.Println(pair[0])
    }
}

ပရိုဂရမ်ကို run ခြင်းဖြင့် ကျွန်ုပ်တို့သည် ပရိုဂရမ်ထဲတွင် သတ်မှတ်ထားသော FOO ၏ တန်ဖိုးကို ရယူနိုင်ကြောင်း တွေ့ရပါသည်။ သို့သော် BAR သည် အလွတ်ဖြစ်နေပါသည်။

$ go run environment-variables.go
FOO: 1
BAR: 

ပတ်ဝန်းကျင်ရှိ key များ၏ စာရင်းသည် သင့်ကွန်ပျူတာပေါ်မူတည်၍ ကွဲပြားနိုင်ပါသည်။

TERM_PROGRAM
PATH
SHELL
...
FOO

အကယ်၍ ကျွန်ုပ်တို့သည် BAR ကို environment တွင် ဦးစွာ သတ်မှတ်ပါက run နေသော ပရိုဂရမ်သည် ထိုတန်ဖိုးကို ရယူပါလိမ့်မည်။

$ BAR=2 go run environment-variables.go
FOO: 1
BAR: 2
...

နောက်ဥပမာ: HTTP Client.