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

时间:2018-01-05 18:43:05

标签: go

我在Golang中有一个名为mystring的字符串,我想把它放在2%(%mystring%)之间,但是直到现在我才能做到。

我尝试过的事情是:

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

但是当我打印它时,我最终得到一个零。示例:mystring的值为“HelloWorld”然后我得到:“%HelloWorld%nil”

现在我收到了这个结果:

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

那么,我错过了什么?感谢

2 个答案:

答案 0 :(得分:2)

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

例如:

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

打印:%hello%

docs for fmt

的开头清楚地记录了这一点
  

%%百分号;不消耗任何价值

答案 1 :(得分:2)

您需要使用其他%转义格式字符串中的%

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