Konfigurasikan aplikasi Anda untuk lingkungan yang berbeda menggunakan variabel lingkungan. Itu juga menambahkan lapisan keamanan ekstra ke aplikasi.
Variabel lingkungan secara dinamis diberi nama pasangan kunci-nilai yang disisihkan di lingkungan host yang digunakan untuk memengaruhi operasi program yang sedang berjalan.
Variabel lingkungan populer untuk berinteraksi dengan data sensitif aplikasi karena memberikan abstraksi pada antarmuka lingkungan. Anda dapat menggunakan variabel lingkungan untuk meningkatkan keamanan aplikasi Anda.
Go menyediakan dukungan bawaan untuk bekerja dengan variabel lingkungan, dan ada banyak paket untuk bekerja dengan variabel lingkungan dan file variabel lingkungan (.env) di ekosistem Go.
Variabel Lingkungan dan Paket os
Itu os package menyediakan fungsionalitas untuk berinteraksi dengan sistem operasi lingkungan host. Itu os package menyediakan metode untuk menyetel dan mengambil pasangan kunci-nilai variabel lingkungan.
Impor paket ini untuk menyetel, memuat, dan mencetak variabel lingkungan di mesin host Anda.
impor (
"fmt"
"catatan"
"os"
"string"
)
Anda dapat mengatur pasangan nilai kunci variabel lingkungan dengan Setenv metode dari os kemasan. Itu Setenv metode mengambil pasangan dan mengembalikan kemungkinan kesalahan.
salah := os. Setenv("NAMA", "Yohanes")
salah = os. Setenv("LAINNYA", "KELINCI BETINA")
jika salah!= nol {
kembali
}
Anda dapat mengambil variabel lingkungan dengan kunci (nama) dengan Getenv metode. Itu Getenv metode mengambil nama variabel lingkungan dan mengembalikan nilai yang terkait dengan kunci.
nama :=os. Getenv("NAMA")
lainnya := os. Getenv("LAINNYA")
Itu Mengepung metode memungkinkan Anda untuk mengakses semua variabel lingkungan pada mesin host Anda. Itu Mengepung metode mengembalikan sepotong string yang dapat Anda lewati dan mengakses kunci variabel lingkungan.
untuk _, variabel := jangkauan os. Lingkungan() {
envPair := string. SplitN(variabel, "=", 2)
fmt. Println (envPair[0])
}
Itu SplitN metode paket string membantu pemisahan dengan pembatas. Dalam hal ini, memisahkan nama variabel dari nilai.
Cara Memuat Variabel Lingkungan Dari File .env
Itu godotenv package adalah port Go dari proyek Ruby dotenv untuk memuat variabel lingkungan dari file dotenv.
Itu godotenv package menyediakan fungsionalitas untuk bekerja dengan file dotenv di atas os paket, Anda dapat menulis dan membaca dari .env file.
Jalankan perintah ini untuk membuat .env file di direktori kerja Anda.
sentuh .env
Perintah sentuh digunakan untuk membuat file baru. Tambahkan baris kode berikut ke file dotenv. Anda akan menggunakan godotenv paket untuk membaca variabel lingkungan ini di program Go Anda.
# env
NAMA="Yohanes"
LAINNYA="James"
Jalankan perintah ini di terminal direktori proyek Anda untuk menginstal godotenv paket sebagai ketergantungan proyek.
pergi dapatkan github.com/joho/godotenv
Impor paket-paket ini ke file Go Anda. Anda akan menggunakannya bersama dengan godotenv paket untuk memuat variabel lingkungan dan mencetaknya ke konsol atau kesalahan log.
impor (
"fmt"
"github.com/joho/godotenv"
"catatan"
"os"
)
Anda dapat memuat a .env mengajukan dengan Memuat metode dari godotenv kemasan. Itu Memuat metode mengambil nama file dan mengembalikan kemungkinan kesalahan.
err := godotenv. Memuat(".env")
jika salah!= nol {
catatan. Fatalf("Kesalahan memuat file variabel lingkungan")
}
Setelah memuat file dotenv, Anda dapat menggunakan Getenv metode dari os paket untuk memuat variabel lingkungan.
nama :=os. Getenv("NAMA")
lainnya := os. Getenv("LAINNYA")
fmt. Println (nama)
fmt. Cetak (lainnya)
Anda dapat menulis ke file dotenv dengan Menulis metode dari godotenv kemasan. Itu Menulis metode mengambil peta string ke string dan mengembalikan kemungkinan kesalahan.
fungsiwriteToDotEnv(){
env, _ := godotenv. Unmarshal("KUNCI=nilai")
err := godotenv. Tulis (env, ".env")
jika salah!= nol {
catatan. Cetak("Terjadi kesalahan penulisan ke file dotenv")
}
}
Itu godotenv paket unmarshal string pasangan kunci-nilai dengan Unmarshal metode, dan lingkungan variabel menjadi peta string ke tipe string.
Itu writeToDotEnv fungsi menulis konten peta ke .env file di direktori kerja. Operasi ini menimpa data yang ada.
Variabel Lingkungan Selalu Bermanfaat
Variabel lingkungan memudahkan untuk menyetel dan mengubah parameter eksekusi aplikasi tanpa mengubah kode atau konfigurasi, sehingga meningkatkan portabilitas aplikasi Anda.
Anda dapat memiliki beberapa variabel lingkungan dan dotenv file untuk berbagai skenario untuk menguji bagaimana aplikasi Anda berjalan di bawah berbagai parameter atau kondisi.