猿问

在一个字符串中允许多个参数 [Go]

我正在使用 Gomail 从表单中获取数据并将其通过电子邮件发送给我自己。如果我想获得用户的全名,这就是我将使用的:

m.SetBody("text/html", fmt.Sprintf("<b>Full Name</b>: %s", msg.completeName))

它在电子邮件中是这样的:

全名:约翰·迈克尔·史密斯

现在如果我想在代码中添加一个消息字段

m.SetBody("text/html", fmt.Sprintf("<b>Full Name</b>: %s", msg.completeName, "<br> <b>Message</b> %s", msg.Content))

它输出这个:

全名: John Michael Smith%!(EXTRA string=

消息:%s,字符串=你好!)

我希望它看起来像这样:

全名:约翰·迈克尔·史密斯

消息:你好!


慕尼黑5688855
浏览 140回答 1
1回答

元芳怎么了

问题是您以错误的方式使用 Sprintf。在Sprintf&nbsp;需要字符串格式的第一个参数,那么所有你需要在最后要插入的字符串变量。因此你的代码应该是:m.SetBody("text/html",&nbsp;fmt.Sprintf("<b>Full&nbsp;Name</b>:&nbsp;%s&nbsp;<br><b>Message</b>&nbsp;%s",&nbsp;msg.completeName,&nbsp;msg.Content))有关更多信息,我建议您阅读Sprintf 文档注意:在评论中我说“你为什么不连接字符串?”&nbsp;因为你也可以这样做:m.SetBody("text/html",&nbsp;"<b>Full&nbsp;Name</b>:&nbsp;"+&nbsp;msg.completeName&nbsp;+"&nbsp;<br><b>Message</b>&nbsp;"&nbsp;+&nbsp;msg.Content))
随时随地看视频慕课网APP

相关分类

Go
我要回答