我使用yaml来解码yaml文件。但是,结果并不像预期的那样。
未提取EncryptKey
。这是我的测试代码:
package main
import (
"fmt"
"log"
"gopkg.in/yaml.v2"
)
var data = `
port: 8080
encryptKey: "jfgjfgkfgd"
`
type Config struct {
Port int `json:"port"`
EncryptKey string `json:"encryptKey"`
}
func main() {
t := Config{}
err := yaml.Unmarshal([]byte(data), &t)
if err != nil {
log.Fatalf("error: %v", err)
}
fmt.Printf("--- t:\n%v\n\n", t)
}
我得到了这样的结果:--- t:
{8080 }
这是我的粗心大意。我应该使用标记yaml
而不是json
。
答案 0 :(得分:2)
您使用的是json
代码,而不是yaml
代码。像这样修复你的结构定义:
type Config struct {
Port int `yaml:"port"`
EncryptKey string `yaml:"encryptKey"`
}