-- Go

Go ile Ortam Değişkenlerini Elde Etme

Merhabalar,

Uygulama geliştirirken bilgisayar sisteminde ön tanımlı olan ortam değişkenlerine ulaşma ihtiyacı duyarız. Bunun bir çok nedeni olabilir… Mesela işlemci mimarisiyle ilgili temel bir bilgiyi, bilgisayar adını, domain adı ya da bir ön tanımlı PATH bilgisini(JAVA_HOME, GOPATH vb.) kullandığımız framework ile değil de doğrudan sistemden elde etmek isteyebiliriz. Bu durumda tüm ortam değişkenlerini elde etmeli ya da bu değişkenler içerisinde tanımlanan isimleriyle doğrudan o parçayı alabilmeliyiz. GO programlama dilinde bu gayet basittir.

package main

import (
	"fmt"
	"os"
)

func main() {

	for _, env := range os.Environ() {
		fmt.Println(env)
	}
}

Yukarıdaki kısa kodu çalıştırdığınızda bilgisayarınızda tanımlı tüm ortam değişkenleri alt alta listelenecektir.

Peki belirli bir ortam değişkenini almak istersek? Mesela GOPATH ya da bilgisayar kullanıcı adı…

package main
import (
	"fmt"
	"os"
)

func main() {

	// Sadece belirli ortam değişkenini alma

	uName := os.Getenv("USERNAME")
	uDomain := os.Getenv("USERDOMAIN")
	processorAchitecture := os.Getenv("PROCESSOR_ARCHITECTURE")
	processorIdentifier := os.Getenv("PROCESSOR_IDENTIFIER")
	processorLevel := os.Getenv("PROCESSOR_LEVEL")
	goRoot := os.Getenv("GOROOT")
	goPath := os.Getenv("GOPATH")
	homePath := os.Getenv("HOMEPATH")

	fmt.Println("Username : " + uName)
	fmt.Println("Domain : " + uDomain)
	fmt.Println("İşlemci Mimarisi : " + processorAchitecture)
	fmt.Println("İşlemci ID : " + processorIdentifier)
	fmt.Println("İşlemci Seviye : " + processorLevel)
	fmt.Println("-> other...")
	fmt.Println("HOMEPATH : " + homePath)
	fmt.Println("GOPATH : " + goPath)
	fmt.Println("GOROOT : " + goRoot)
}

Yukarıdaki uygulamada ise belirli ortam değişkenlerini özellikle belirterek istedik. Ve çıktı olarak da bize alt alta hepsini listeli olarak gösterecektir.

Doğrudan konsol üzerinden gelen verileri test edebilmek için aşağıdaki komutları kullanabilirsiniz.

echo %USERNAME%
echo %GOPATH%

İyi çalışmalar.
Cihan Özhan

Yorumla

Yorum