我需要在里面创建一个带有html链接的字符串。
fmt.Sprint("<a href=\"%s\">%s</a>", "/myUrl", "link text");
预期结果是
<a href="/myUrl">link text</a>
但实际结果是
<a href="%s">%s</a>/myUrllink text
我做错了什么?
顺便说一下,我在GoLand中有这个警告
答案 0 :(得分:6)
fmt.Sprint
将按原样打印字符串。如果要格式化字符串,则应使用fmt.Sprintf
。
SO社区对初学者来说可能非常苛刻,如果人们不喜欢你所写的内容或你如何表达你将被投票的问题。不要欺骗自己以为人们会来帮忙,他们只关心声誉。
幸运的是,在Go
中,我们非常善良docs。如果您认为某些内容无法正常运行,那么浏览文档网站就足以让您前进。
答案 1 :(得分:1)
func Sprintf(format string, a ...interface{}) string
Sprintf根据格式说明符进行格式化并返回结果字符串。
func Sprint(a ...interface{}) string
Sprint格式使用其操作数的默认格式并返回结果字符串。当两者都不是字符串时,在操作数之间添加空格。
同样fmt
是一个非常大且非常有用的标准包,附带了很好的文档。您可以找到许多不同的I / O函数there。
如果您没有阅读文档,写“错误的结果”也是非常奇怪的。