公式ドキュメント→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