本文介绍下在go语言中如何读取yml文件的示例。目前yml文件是一个非常流行的配置文件,在工作中经常会遇到,读取yml文件的内容一般应用于一些配置信息。所以非常的重要。
在go语言中读取yml文件非常简单,一般一每一个段做一个model即可,每个段的下一段是属于一个子类,所以用子类的思路去做就可以了,比如我们这里简单制作一个user.yml文件,内容如下:
# 这是一个 YAML 文件示例 name: "John Doe" age: 30 contact: email: "johndoe@example.com" phone: "123-456-7890"
这里我们可以把name、age、contact作为一段,contact下一级的email、phone作为一个段。所以一共两个段,做两个struct model即可,示例如下:
type userConfiguration struct { Name string `yaml:"name"` Age int `yaml:"age"` Contact contactConfiguration `yaml:"contact"` } type contactConfiguration struct { Email string `yaml:"email"` Phone string `yaml:"phone"` }
当然读取yml的话,我们需要使用到 gopkg.in/yaml.v2 这个库,需要安装一下:
go get gopkg.in/yaml.v2
接下来就比较简单了,主要分为3步:
1、读取文件 2、映射model 3、使用
根据上诉三步,对应的代码如下:
func main() { //读取yml文件 yamlFile, err := os.ReadFile("user.yml") if err != nil { panic(err) } //解析yml文件 var configuration userConfiguration err = yaml.Unmarshal(yamlFile, &configuration) if err != nil { panic(err) } //输出结果 fmt.Println(configuration.Name) fmt.Println(configuration.Age) fmt.Println(configuration.Contact.Email) fmt.Println(configuration.Contact.Phone) }
最后运行测试下,即可看到读取到了对应的信息了。
以上就是go语言中读取yml文件的示例。
还没有评论,来说两句吧...