لغة Go بالأمثلة: متغيرات البيئة

متغيرات البيئة آلية عامة لنقل معلومات الإعداد إلى برامج Unix. لنتعرف على كيفية تعيين متغيرات البيئة والحصول عليها وسردها.

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

لتعيين زوج مفتاح وقيمة، استخدم os.Setenv. وللحصول على قيمة مفتاح، استخدم os.Getenv. ستعيد os.Getenv سلسلة نصية فارغة إذا لم يكن المفتاح موجودًا في البيئة.

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

استخدم os.Environ لسرد جميع أزواج المفاتيح والقيم في البيئة. تعيد هذه شريحة سلاسل نصية بالصيغة KEY=value. يمكنك استخدام strings.SplitN لتقسيمها والحصول على المفتاح والقيمة. نطبع هنا جميع المفاتيح.

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

يوضح تشغيل البرنامج أننا نحصل على قيمة FOO التي عيّناها في البرنامج، بينما تكون BAR فارغة.

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

تعتمد قائمة المفاتيح في البيئة على جهازك.

TERM_PROGRAM
PATH
SHELL
...
FOO

إذا عيّنا BAR في البيئة أولًا، فسيحصل البرنامج عند تشغيله على تلك القيمة.

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

المثال التالي: .