背景 我试图为 Go 编写一些 GZIP 中间件,但遇到了一个问题,因为 http.DetectContentType() 返回的是 text/plain 而不是 text/html,所以我追踪到第一个被写入的文本是某种类型或错误的字节,我仍在努力追查。我知道有很多方法可以解决这个问题,比如显式设置 ContentType 或在执行模板时使用 bytes.Buffer 并一次写入,但我真的很想找出导致写入这个单个字节的原因。
示例 这是一个非常人为的示例,显示了相同的问题https://play.golang.org/p/SSrWP9jLRq
运行时,您将看到打印的第一件事是:“LEN BYTES: 1 String:”
嫌疑人 如示例所示,内容模板中的这一行 "{{template "header" .}}" 似乎是罪魁祸首,但为什么会输出这些额外的内容。
问题 有人知道这个错误的字节来自哪里吗?请参阅示例中的 html 页眉、页脚和内容模板。
暮色呼如
相关分类