Go プログラムの構成パラメータ (他のコンテキストではプロパティファイルやiniファイルを使用するようなもの) を処理するための推奨される方法は何ですか?
ベストアンサー1
の翻訳この形式は私にとっては非常にうまく機能しました。標準ライブラリには、データ構造をインデントして記述するメソッドが用意されているため、非常に読みやすくなっています。
JSON の利点は、解析が非常に簡単で、人間が読み取り/編集できる一方で、リストやマッピングのセマンティクス (非常に便利になる場合があります) を提供していることです。これは、多くの ini タイプの構成パーサーには当てはまりません。
使用例:
conf.json :設定ファイル
{
"Users": ["UserA","UserB"],
"Groups": ["GroupA"]
}
構成を読み取るプログラム
import (
"encoding/json"
"os"
"fmt"
)
type Configuration struct {
Users []string
Groups []string
}
file, _ := os.Open("conf.json")
defer file.Close()
decoder := json.NewDecoder(file)
configuration := Configuration{}
err := decoder.Decode(&configuration)
if err != nil {
fmt.Println("error:", err)
}
fmt.Println(configuration.Users) // output: [UserA, UserB]