환경변수 사용하는 방법

1. 환경변수 모두 가져오기

Go에서 환경변수를 사용하기 위해서는 os 패키지를 import하여 필요한 메서드를 호출하면 된다. 먼저, 모든 환경변수를 한꺼번에 가져오기 위해서는, os.Environ() 메서드를 사용한다. 이 메서드는 인덱스와 환경변수값(형식: 이름=값)을 컬렉션으로 리턴하는데, for range 루프를 사용하여 아래 예제와 같이 출력할 수 있다.

package main

import (
	"fmt"
	"os"
)

func main() {
	// 모든 환경변수 출력
	for index, env := range os.Environ() {
		fmt.Println(index, env)
	}   
}

2. 환경변수 읽기/쓰기

Go에서 환경변수를 읽고 위해서는 os.Getenv() 메서드를 사용하고, 쓰기 위해서는 os.Setenv() 메서드를 사용한다. 아래 예제는 사용자명인 USERNAME 환경변수 값을 읽는 예와 임의의 환경변수 TestEnv에 ABC라는 값을 쓰는 예를 든 것이다.

package main

import (
	"fmt"
	"os"
)

func main() {
	// 환경변수 읽기
	usr := os.Getenv("USERNAME")
	fmt.Println(usr)

	// 환경변수에 쓰기
	os.Setenv("TestEnv", "ABC")
	fmt.Println(os.Getenv("TestEnv"))
}