go viper 예제

Go 언어에서는 Viper 패키지를 사용하여 설정 파일을 쉽게 처리할 수 있습니다. Viper를 사용하면 YAML, JSON, TOML 등 다양한 형식의 설정 파일을 읽고 쓸 수 있으며, 간편한 설정 값 조회 및 사용이 가능합니다.

Viper 설치

Viper를 사용하기 위해 먼저 Go 언어에서 해당 패키지를 설치해야 합니다. 아래와 같이 명령어를 실행하여 Viper를 설치할 수 있습니다.

go get github.com/spf13/viper

예제 코드

아래는 Viper를 사용하여 설정 파일을 읽고 값을 조회하는 예제입니다.

package main

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

func main() {
	// 설정 파일 로드
	viper.SetConfigFile("config.yaml") // 설정 파일 경로 지정
	err := viper.ReadInConfig()        // 설정 파일 읽기
	if err != nil {
		fmt.Printf("Failed to read config file: %s", err)
		return
	}

	// 설정 값 조회
	dbHost := viper.GetString("db.host")
	dbPort := viper.GetInt("db.port")
	dbUser := viper.GetString("db.user")
	dbPassword := viper.GetString("db.password")

	fmt.Printf("DB Host: %s\n", dbHost)
	fmt.Printf("DB Port: %d\n", dbPort)
	fmt.Printf("DB User: %s\n", dbUser)
	fmt.Printf("DB Password: %s\n", dbPassword)
}

설정 파일 예제 (config.yaml)

db:
  host: localhost
  port: 3306
  user: myuser
  password: mypassword

위의 예제 코드에서는 config.yaml 파일에서 db 섹션의 값을 읽어와서 출력합니다. 설정 파일은 YAML 형식으로 작성되며, db 섹션에는 호스트, 포트, 사용자 이름, 비밀번호가 포함되어 있습니다.

실행 결과는 다음과 같습니다.

DB Host: localhost
DB Port: 3306
DB User: myuser
DB Password: mypassword

위의 예제는 Viper를 사용하여 설정 파일을 처리하는 간단한 예제입니다. Viper를 통해 설정 값을 손쉽게 조회하고 사용할 수 있으므로, Go 언어 프로젝트에서 설정 파일을 다루어야 할 때 유용한 도구입니다.


#Go #Viper #GoViper #설정파일 #Config #예제