Mengatur Env Variabel Di Golang
Environment variable (variabel lingkungan) adalah variabel yang didefinisikan di dalam sistem operasi atau lingkungan komputer yang menyimpan nilai yang dapat digunakan oleh program dan script yang berjalan di dalam lingkungan tersebut. Env variabel digunakan untuk menyimpan konfigurasi, pengaturan dan informasi penting lainnya yang dibutuhkan oleh program, script atau sistem.
Env variabel umumnya digunakan untuk menyimpan informasi seperti path direktori, nama host, nama pengguna, password, konfigurasi jaringan, dan banyak lagi. Dalam lingkungan UNIX/Linux, variabel lingkungan biasanya ditentukan menggunakan perintah “export” di terminal, sementara di lingkungan Windows, variabel lingkungan dapat ditentukan melalui panel kontrol atau melalui command prompt.
Program-program dan script dapat mengakses env variabel untuk mendapatkan nilai dan informasi yang tersimpan di dalamnya, sehingga membantu dalam pengembangan aplikasi yang lebih fleksibel dan portabel.
Env variable di Go (Golang) dapat diakses menggunakan package os
. Package ini memungkinkan kita untuk mengatur, mengambil, dan menghapus env variable.
Untuk mengambil nilai dari env variable, kita dapat menggunakan fungsi os.Getenv()
. Contohnya seperti ini:
import (
"fmt"
"os"
)
func main() {
envVar := os.Getenv("NAMA_VARIABLE")
fmt.Println(envVar)
}
Untuk mengatur nilai env variable, kita dapat menggunakan fungsi os.Setenv()
. Contohnya seperti ini:
import (
"fmt"
"os"
)
func main() {
os.Setenv("NAMA_VARIABLE", "nilai_env")
envVar := os.Getenv("NAMA_VARIABLE")
fmt.Println(envVar)
}
Untuk menghapus env variable, kita dapat menggunakan fungsi os.Unsetenv()
. Contohnya seperti ini:
import (
"fmt"
"os"
)
func main() {
os.Unsetenv("NAMA_VARIABLE")
envVar := os.Getenv("NAMA_VARIABLE")
fmt.Println(envVar)
}
Penting untuk diingat bahwa env variable hanya dapat diakses di dalam satu sesi proses. Artinya, jika kita mengatur env variable dalam program Go, nilai env variable tersebut tidak akan tersedia di luar program atau setelah program selesai dieksekusi.