Go语言学习: yaml/yml
go语言操作yml
安装
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
- 准备 struct Config (有点像ts的类型)
- 准备文件路径 path.Join
- 读取文件,传入接收结果的类型变量
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)
}