GoでTOMLをデコードする
最終更新日:2017-06-13
GoでTOMLをデコードするにはgithub.com/BurntSushi/toml
を使用します。
例として次のようなTOMLをデコードしてみます。
[DB]
user = "fkm"
pass = "moke"
db = "tech"
データ構造を定義する
まず、デコードしたデータを入れるための構造を定義しておきます。
type Configuration struct {
DB DBConfiguration
}
type DBConfiguration struct {
Username string `toml:"user"`
Password string `toml:"pass"`
DBName string `toml:"db"`
}
デコードする
デコードするにはtoml.DecodeFile()
を呼ぶだけです。簡単だね♪
package main
import (
"fmt"
"github.com/BurntSushi/toml"
)
...
func main() {
var c Configuration
_, err := toml.DecodeFile("conf.toml", &c)
if err != nil {
fmt.Errorf("Failed to decode file : %!s(MISSING)", err)
return
}
fmt.Printf("username=%!s(MISSING)\n", c.DB.Username)
fmt.Printf("password=%!s(MISSING)\n", c.DB.Password)
fmt.Printf("db name=%!s(MISSING)\n", c.DB.DBName)
}