Unmarshal yaml неправильно? - PullRequest
0 голосов
/ 15 мая 2018

Я использую 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.

1 Ответ

0 голосов
/ 15 мая 2018

Вы используете json теги вместо yaml тегов. Исправьте определение структуры следующим образом:

type Config struct {
    Port       int    `yaml:"port"`
    EncryptKey string `yaml:"encryptKey"`
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...