golang 使用yaml配置文件
时间: 2023-12-13 11:25:46 浏览: 267
在 Go 中使用 YAML 配置文件需要使用第三方库。常用的库有 go-yaml 和 gopkg.in/yaml.v2。这里以 gopkg.in/yaml.v2 为例,示例代码如下:
```go
package main
import (
"fmt"
"io/ioutil"
"log"
"gopkg.in/yaml.v2"
)
type Config struct {
Host string `yaml:"host"`
Port int `yaml:"port"`
User string `yaml:"user"`
Pass string `yaml:"pass"`
}
func main() {
// 读取配置文件
data, err := ioutil.ReadFile("config.yaml")
if err != nil {
log.Fatal(err)
}
// 解析配置文件
var config Config
if err := yaml.Unmarshal(data, &config); err != nil {
log.Fatal(err)
}
// 打印配置信息
fmt.Printf("Host: %s\n", config.Host)
fmt.Printf("Port: %d\n", config.Port)
fmt.Printf("User: %s\n", config.User)
fmt.Printf("Pass: %s\n", config.Pass)
}
```
在上面的代码中,我们定义了一个 Config 结构体,用于存储配置信息。使用 yaml 标记为结构体字段指定 YAML 文件中对应的键名。然后,我们通过 ioutil 包读取配置文件,再通过 yaml 包解析配置文件。最后,打印解析后的配置信息。
示例配置文件 config.yaml 如下:
```yaml
host: localhost
port: 8080
user: admin
pass: 123456
```
运行上面的代码,输出结果如下:
```
Host: localhost
Port: 8080
User: admin
Pass: 123456
```
阅读全文