gpt4 book ai didi

转到模板结构

转载 作者:数据小太阳 更新时间:2023-10-29 03:30:44 26 4
gpt4 key购买 nike

我有一个应该解析为结构的 Go 模板。如何将模板执行函数的 bytes.Buffer 结果转换回 structPlayground

package main

import (
"bytes"
"encoding/gob"
"fmt"
"log"
"text/template"
)

type Data struct {
Age int
Username string
SubData SubData
}
type SubData struct {
Name string
}

func main() {
s := SubData{Name: "J. Jr"}
d := Data{Age: 26, Username: "HelloWorld", SubData: s}
tmpl := "{{ .SubData }}"
t := template.New("My template")
t, _ = t.Parse(string(tmpl))
buffer := new(bytes.Buffer)
t.Execute(buffer, d)
fmt.Println(buffer)

// writing
enc := gob.NewEncoder(buffer)
err := enc.Encode(s)
if err != nil {
log.Fatal("encode error:", err)
}

// reading
buffer = bytes.NewBuffer(buffer.Bytes())
e := new(SubData)
dec := gob.NewDecoder(buffer)
err = dec.Decode(e)
if err != nil {
log.Fatal("decode error:", err)
}
fmt.Println(e, err)
}

最佳答案

你不能。这显然是不可能的。

但是到底为什么会有人想做这样的事情呢?你为什么不直接通过 gob 发送你的 Data 并直接解码呢?为什么要创建您喜欢的文本表示形式?

关于转到模板结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25181266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com