日: 2019年5月26日

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

    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 の新書