0
0

More than 1 year has passed since last update.

【Go】config.iniファイルの読み込み

Last updated at Posted at 2023-07-25

はじめに

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の中身が表示されれば成功!

参考

現役シリコンバレーエンジニアが教えるGo入門 + 応用でビットコインのシストレFintechアプリの開発

0
0
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
0
0