🥳
GOで環境変数を読み込む方法
Go言語で、環境変数を読み込む方法をちょっと気になったので、学んでみました。
今回はyamlファイルを読み込んでみようと思います。
環境
・mac book pro(M2)
・go(version: 1.19.5)
サンプルコード
local.yml
name: "deel"
pass: "pass"
age: 23
main.go
package main
import (
"log"
"os"
"gopkg.in/yaml.v2"
)
type User struct {
Name string `yaml:"name"`
Pass string `yaml:"pass"`
// uintは整数型
Age uint `yaml:"age"`
}
func main() {
// 構造体の初期化
user := User{}
// ファイルをbyteで読み込む
b, err := os.ReadFile("local.yml")
if err != nil {
// NOTE: 本当であればエラーをラップした方が良いが、今回はパス
log.Print(err)
return
}
// byteで読み込まれたyamlファイルをデコードし、第二引数の構造体に値を入れ込む
yaml.Unmarshal(b, &user)
// ログに下記項目を出力
log.Print(user.Name)
log.Print(user.Pass)
log.Print(user.Age)
}
出力結果
deel
pass
23
まとめ
意外と簡単に読み込めてびっくりしました。
もう少しbyteとかの処理を理解したいなと新たな意欲が湧いたので、次はその辺りを使って遊んでみようと思います!!
書き込みについてもコーディングしてみましたので、ぜひリポジトリをみてみてください!
Discussion