moromin / blockchain-trading

1 stars 1 forks source link

Config取得関数を呼び出す際の引数、使用パッケージについて #22

Open moromin opened 2 years ago

moromin commented 2 years ago

概要

# *.envファイル
DBDriver=postgres
// example

// Config を設定するための構造体
type Config struct {
    DBDriver string
}

func GetConfig(dir string) Config {
    // GO_ENVという環境変数に独自の.envファイル名を設定している。
    loadFilePath := filepath.Join(dir, fmt.Sprintf("%s.env", os.Getenv("GO_ENV")))
    fmt.Println("LoadingFilePath:", loadFilePath)
    // Output: LoadingFilePath: ../*.env

    err := godotenv.Load(loadFilePath)
    if err != nil {
        log.Fatal("Error loading .env file")
    }
    config := Config{
        DBDriver: os.Getenv("DBDriver"),
    }
    return config
}

func main() {
    // 引数として相対パスを渡す
    config := GetConfig("..")
    fmt.Println("Config:", config)
        // Output: Config: {postgres}
}

何をすれば Issue が解決するか、追加/変更/削除する点

参考リンク(あれば)

以下のリンクからテンプレートを拝借