Go语言学习: yaml/yml

go语言操作yml
更新于: 2024-10-26 10:12:19

安装

go get gopkg.in/yaml.v3

读文件

os.ReadFile,原来的 ioutil 官方已经不推荐了。

package main

import (
	"fmt"
	"os"
)

func check(e error) {
	if e != nil {
		panic(e)
	}
}

func main() {
	data, err := os.ReadFile("./config.yml")
	check(err)
	fmt.Println(data)
	fmt.Print(string(data))
}

准备 yaml 文件

文件名为 config.yml 

name: ap7
age: 25
occupation: Software Engineer

读取 yml

  1. 准备 struct Config (有点像ts的类型)
  2. 准备文件路径 path.Join
  3. 读取文件,传入接收结果的类型变量
package main

import (
	"fmt"
	"os"
	"path"

	"gopkg.in/yaml.v3"
)

func check(e error) {
	if e != nil {
		panic(e)
	}
}

type Config struct {
	Name string `yaml:"name"`
	Age  int    `yaml:"age"`
}

func main() {
	filename := path.Join(os.Getenv("HOME"), "Downloads", "config.yml")
	data, err := os.ReadFile(filename)
	check(err)
	config := Config{}
	yaml.Unmarshal(data, &config)

	fmt.Printf("--- t:\n%v\n\n", config)
}