#sample.yml
single: |
a single quote'
double: |
a double quote"
// main.go
package main
import (
"html/template"
"io/ioutil"
"log"
"os"
"gopkg.in/yaml.v2"
)
const Template = `{{ .Single}}
---
{{ .Double}}`
type Sample struct {
Single string `yaml:"single"`
Double string `yaml:"double"`
}
func main() {
file, err := ioutil.ReadFile("sample.yml")
if err != nil {
log.Fatal(err)
}
s := new(Sample)
err = yaml.Unmarshal(file, s)
if err != nil {
log.Fatal(err)
}
t, err := template.New("s").Parse(Template)
if err != nil {
log.Fatal(err)
}
err = t.Execute(os.Stdout, s)
if err != nil {
log.Fatal()
}
}
打印出来的是 '
这样的字符.
如果想要保留原始的 ' " , 要如何做呀?
$ go run ./main.go
a single quote'
---
a double quote"