viper golang 예제

많은 Go 개발자들은 환경변수나 설정파일을 사용하여 프로그램을 구성할 때 Viper 라이브러리를 사용합니다. Viper는 Go 언어로 작성된 강력한 구성 관리 라이브러리입니다. 이제 Viper를 사용하여 간단한 예제를 만들어보겠습니다.

Viper 설치

Go 모듈 프로젝트의 루트 디렉토리에서 다음 명령어를 실행하여 Viper를 설치합니다:

go get github.com/spf13/viper

예제 코드

다음은 Viper를 사용하여 설정 파일로부터 환경변수 값을 가져오는 예제입니다.

package main

import (
    "fmt"
    "github.com/spf13/viper"
)

func main() {
    // Viper 초기화
    viper.SetConfigName("config")
    viper.SetConfigType("yaml")
    viper.AddConfigPath(".")
    viper.AutomaticEnv()

    if err := viper.ReadInConfig(); err != nil {
        fmt.Println("설정파일을 찾을 수 없습니다.")
        return
    }

    // 환경변수 값 가져오기
    username := viper.GetString("username")
    password := viper.GetString("password")

    // 값 출력
    fmt.Println("사용자 이름:", username)
    fmt.Println("비밀번호:", password)
}

설정 파일

위의 예제 코드에서는 “config.yaml” 파일로부터 설정을 로드하고 있습니다. “config.yaml” 파일을 다음과 같이 생성해주세요:

username: 아무개
password: 비밀번호123

실행 및 결과

위의 예제 코드를 실행하면 다음과 같은 결과를 볼 수 있습니다:

사용자 이름: 아무개
비밀번호: 비밀번호123

이제 Viper를 사용하여 환경변수와 설정파일을 쉽게 사용할 수 있습니다. 이는 Go 언어 개발 프로젝트에서 구성 관리를 훨씬 더 효율적으로 만들어줍니다.

#Golang #Viper