将字符串放在Golang中的两个%之间

xu3bshqb  于 2022-12-07  发布在  Go
关注(0)|答案(2)|浏览(129)

我在Golang有一个字符串叫做mystring,我想把它放在两个百分号之间(比如%mystring%),但是直到现在我还不能做到。
我尝试过的事情是:

value := fmt.Sprintf("%%s%",mystring)
value := fmt.Sprintf("%s%s%s","%",mystring,"%")
value := fmt.Sprintf("/% %s/%",mystring)

但是当我打印它的时候,最后我收到了一个nil。例如:mystring的值为“HelloWorld”,则得到:%HelloWorld%nil
现在我收到的结果是:

/%s/%!(NOVERB)%!(EXTRA string=HelloWorld)<nil>

那么,我错过了什么?

  • 谢谢-谢谢
yyhrrdl8

yyhrrdl81#

您需要使用另一个%对格式字符串中的%进行转义:

value := fmt.Sprintf("%%%s%%",mystring)
fivyi3re

fivyi3re2#

在格式字符串中使用%%表示实际的%
例如:

func main() {
    mystring := "hello"
    value := fmt.Sprintf("%%%s%%", mystring)
    fmt.Println(value)
}

图纸:%hello%
这在fmt文档的开头有明确记录:
%%返回文字百分号;不消耗任何值

相关问题