
本文介绍在 go 语言中如何通过字符串拼接为表单字段添加前缀(如 "message: "),从而提升邮件正文的可读性与结构化程度,适用于联系表单等常见 web 场景。
本文介绍在 go 语言中如何通过字符串拼接为表单字段添加前缀(如 "message: "),从而提升邮件正文的可读性与结构化程度,适用于联系表单等常见 web 场景。
在 Go 中,字符串拼接是基础但高频的操作。当你处理用户提交的表单数据(例如联系表单中的邮箱和留言)并准备构造结构清晰的邮件正文时,直接使用 + 运算符连接字符串是最简洁、高效的方式。
以你的场景为例:用户输入的留言内容通过 r.FormValue("content") 获取,原始值为纯文本(如 "Hey, my name is Joe, and I would like to get in touch")。为便于识别字段来源,你希望在邮件正文中统一加上 Message: 前缀。只需在赋值时进行字符串拼接即可:
msg := &Message{
Email: r.FormValue("email"),
Content: "Message: " + r.FormValue("content"),
}
这样,msg.Content 的值就会变为 "Message: Hey, my name is Joe, and I would like to get in touch",后续发送邮件时,收件人即可一目了然地识别该段内容的语义。
✅ 注意事项:
- Go 中字符串是不可变的,+ 拼接会生成新字符串,对少量拼接(如字段前缀)完全无性能负担;
- 若需拼接多个字段(如同时添加 Name:、Phone:、Message:),推荐使用 fmt.Sprintf 提升可读性与维护性:
msg.Content = fmt.Sprintf(
"Name: %s\nEmail: %s\nMessage: %s",
r.FormValue("name"),
r.FormValue("email"),
r.FormValue("content"),
)
- 注意对用户输入做必要校验与转义(尤其是用于 HTML 邮件或日志输出时),避免注入风险;若邮件内容含换行符,确保 SMTP 发送逻辑支持 text/plain 或正确设置 MIME 头。
综上,Go 的字符串拼接轻量直观,合理运用 + 或 fmt.Sprintf 能快速实现字段结构化,让表单邮件更专业、更易维护。











