以下の内容はhttps://tech-up.hatenablog.com/entry/2018/12/09/135000より取得しました。


ini【Go】

GitHub - go-ini/ini: Package ini provides INI file read and write functionality in Go.を使って、iniファイルの読み込みを行います。

下記iniファイルが同階層にある場合の例です。

config.ini

[web]
port = 8080

[db]
name = stock.sql
driver = sqlite3

main.go

package main

import (
    "fmt"
    "github.com/go-ini/ini"
)

type ConfigList struct {
    Port      int
    Name      string
    SQLDriver string
}

var Config ConfigList

func init() {
    cfg, _ := ini.Load("config.ini")    // iniファイルを読み込む
    Config = ConfigList{    // structの中身に代入
        Port:      cfg.Section("web").Key("port").MustInt(),    // MustIntのカッコ内が空の場合、iniファイルに対象の情報がなければ0が入る
        Name:      cfg.Section("db").Key("name").MustString("xxx.sql"),    // iniファイルに対象の情報がなければ、MustStringのカッコ内の値が入る
        SQLDriver: cfg.Section("db").Key("driver").String(),    // Mustがない場合、iniファイルに対象の情報がなければ、空になる
    }
}

func main() {
    fmt.Println(Config.Port, Config.Name, Config.SQLDriver)
}


中身に代入する際の、ini.Load("").Section("").Key("")以下は、
デフォルト値を設定する必要があるかなど、要件に応じて決めます。




以上の内容はhttps://tech-up.hatenablog.com/entry/2018/12/09/135000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14