Menu Close

Go: Quản lý file config bằng viper

Link package: https://github.com/spf13/viper

File config mẫu:

database:
  address: 127.0.0.1:1000

Code minh họa đọc file config:

package main

import (
	"fmt"

	"github.com/spf13/viper"
)

type Configuration struct {
	Database struct {
		Address string
	}
}

func main() {
	var cf Configuration
	//Thêm thư mực nên sẽ tìm file config
	viper.AddConfigPath(".")
	viper.SetConfigName("config")
	// Đọc file config
	if err := viper.ReadInConfig(); err != nil {
		fmt.Println("Can not read the config file")
	}
	//Đổ dữ liệu vào đối tượng cf để dễ sử dụng
	viper.Unmarshal(&cf)

	fmt.Println(cf.Database.Address)
}

Kết quả

go run main.go
127.0.0.1:1000

Leave a Reply

Your email address will not be published. Required fields are marked *