天涯尽头无女友
您可以使用Go 标准库中的html/template包来执行此操作。这里的基本流程是:编写模板(go/HTML模板语言)阅读模板(使用template.ParseFiles或类似)监听请求将相关请求中的信息传递到您的模板(使用ExecuteTemplate或类似)您可以将结构传递给ExecuteTemplate,然后可以在您定义的模板中访问该结构(请参见下面的示例)。例如,如果您的结构有一个名为 的字段Name,那么您可以使用 访问模板中的此信息{{ .Name }}。这是一个示例:主要去:包主import ( "log" "encoding/json" "html/template" "net/http")var tpl *template.Templatefunc init() { // Read your template(s) into the program tpl = template.Must(template.ParseFiles("index.gohtml"))}func main() { // Set up routes http.HandleFunc("/endpoint", EndpointHandler) http.ListenAndServe(":8080", nil)}// define the expected structure of payloadstype Payload struct { Name string `json:"name"` Hobby string `json:"hobby"`}func EndpointHandler(w http.ResponseWriter, r *http.Request) { // Read the body from the request into a Payload struct var payload Payload err := json.NewDecoder(r.Body).Decode(&payload) if err != nil { log.Fatal(err) } // Pass payload as the data to give to index.gohtml and write to your ResponseWriter w.Header().Set("Content-Type", "text/html") tpl.ExecuteTemplate(w, "index.gohtml", payload)}索引.gohtml:<!DOCTYPE html><html><head> <title></title></head><body> <div> <span>Your name is</span><span>{{ .Name }}</span> </div> <div> <span>Your hobby is</span><span>{{ .Hobby }}</span> </div></body></html>样本:有效载荷:{ "name": "Ahmed", "hobby": "devving"}回复:<!DOCTYPE html><html> <head> <title></title> </head> <body> <div> <span>Your name is</span> <span>Ahmed</span> </div> <div> <span>Your hobby is</span> <span>devving</span> </div> </body></html>请注意,这是非常脆弱的,因此您绝对应该添加更好的错误和边缘情况处理,但希望这是一个有用的起点。