🎃
【Go】config.iniファイルの読み込み
はじめに
Go言語の勉強メモです。
config.iniで指定してあるAPIキーを読み込ませる部分の実装になります。
フォルダ階層
config/
├ main.go
├ config.ini
├ go.mod
├ config/
| └ config.go
パッケージのインストール
config.goファイル内の、"gopkg.in/ini.v1"パッケージを以下の手順でインストールする。
・go mod init sample(任意の名前)
→ go.modの作成(go関連のパッケージをインストールするのに必要)
・go get gopkg.in/ini.v1
実装
config.ini
; セクションヘッダー
[api_info]
api_key = XXXXXXXXXX
api_secret = YYYYYYYYY
config.go
package config
//必要なパッケージのインポート
import (
"log"
"os"
"gopkg.in/ini.v1"
)
type ConfigList struct {
ApiKey string
ApiSecret string
}
var Config ConfigList
func init() {
cfg, err := ini.Load("config.ini")
if err != nil {
log.Printf("failed to init file: %v", err)
os.Exit(1)
}
Config = ConfigList{
ApiKey: cfg.Section("api_info").Key("api_key").String(),
ApiSecret: cfg.Section("api_info").Key("api_secret").String(),
}
}
main.go
package main
import (
"sample/config"
"fmt"
)
// 読み込ませたAPIキーを表示させる
func main() {
fmt.Println(config.Config.ApiKey)
fmt.Println(config.Config.ApiSecret)
}
ターミナルで、go run main.goのコマンドを叩き、ApiKeyとApiSecretの中身が表示されれば成功!
Discussion