go言語で設定ファイルを簡単に読み込む

はじめに

go言語で設定ファイルを読み込む際、https://gopkg.in/ini.v1 というのがとても便利だったため紹介。

これを使う事で、Configファイルに記載したパラメータを簡単にgoで使う事ができる。

インストール

https://gopkg.in/ini.v1

を参考に、

go get gopkg.in/ini.v1
でインストールが可能。

goでconfigファイルを読み込む

サンプルのファイルを見ながらだと理解しやすいと思うので、コードをベースに紹介。

読み込むconfigファイル

[web]
port = 443

[db]
name = oreoredb
user = userA

 よくある形式。

読み出すgoはこのような感じに記載

package main

import (
	"fmt"
	"gopkg.in/ini.v1"
)

type Config struct{
	Port int
	Db string
	User string
}

var Cnf Config

func init(){
	c, _ := ini.Load("config.ini")
	Cnf = Config{
		Port: c.Section("web").Key("port").MustInt(),
		Db: c.Section("db").Key("name").MustString("hogehoge.sql"),
		User: c.Section("db").Key("user").String(),
	}
}

func main(){
	fmt.Printf("%v \n", Cnf.Port)
	fmt.Printf("%v \n", Cnf.Db)
	fmt.Printf("%v \n", Cnf.User)
}

結果

$ go run read.go
443 
oreoredb 
userA

簡単に取り出す事ができた。

詳細の使い方はこちら

https://godoc.org/gopkg.in/ini.v1

 

golang の新書