1
3

More than 3 years have passed since last update.

Go言語でconfigファイルを読み込む!簡単なサンプルを紹介

Posted at

公式ドキュメント→https://gopkg.in/go-ini/ini.v1

パッケージをインストール

go get gopkg.in/go-ini/ini.v1

ファイル構成

.
├── config
│   └── config.go
├── config.ini
└── main.go

iniファイルを作成

config.ini
[api]
api_key = aaaaaa
api_secret = bbbbbbb

[db]
password = ccccc
etc...

上記の[api][db]のようにセクションごとに分けてあげると管理がしやすい。
クォーテーションなどで囲む必要はなし。

configファイルを作成

config/config.go
package config

import "gopkg.in/ini.v1"

type ConfigList struct {
    APIKey     string
    APISecret  string
    Password   string
}

var Config ConfigList

func init() {
    cfg, err := ini.Load("config.ini")
    if err != nil {
        //エラー処理
    }

    Config = ConfigList{
        APIKey:     cfg.Section("api").Key("api_key").String(),
        APISecret:  cfg.Section("api").Key("api_secret").String(),
        Password:   cfg.Section("db").Key("password").String(),
    }
}

configの値を取得

main.go
package main

import "./config"

func main() {
    Println(config.Config.APIKey)
    Println(config.Config.APISecret)
    Println(config.Config.Password)
}

こんな感じでconfigの値を取得できます。

今回はiniファイルを作成しましたがTOMLを使った方法もある。
この人の記事がとても分かりやすかったのでおすすめです。
https://qiita.com/futoase/items/fd697a708fcbcee104de

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3