如何在 golang 中将 %3a 或 %a 存储在 String 中?

Posted

技术标签:

【中文标题】如何在 golang 中将 %3a 或 %a 存储在 String 中?【英文标题】:How to store %3a or %a in String in golang? 【发布时间】:2021-12-25 04:22:44 【问题描述】:

我是 Go lang 的新手,并尝试使用 %3a 或 %a 在 String 中存储

str := fmt.Sprintf("dsfsd%a")

但是当我尝试打印它时,我看到“dsfsd%!a(Missing)”。

有没有办法在字符串中存储诸如“%a”“%3a”之类的字符序列?这个字符串来自 JSON,它不是硬编码的。

【问题讨论】:

使用简单赋值将字符串文字存储在字符串变量中:str := "dsfsd%a"。如问题示例所示,无需调用 fmt.Sprintf。 【参考方案1】:

你需要escape the percent

str := fmt.Sprintf("dsfsd%%a")

【讨论】:

另外,如果你不做插值,这里不需要使用Sprintf...【参考方案2】:

问题是fmt.Sprintf 将其视为格式字符串

为了解决这个问题,我们可以将格式字符串添加到fmt.Sprintf 并将值作为数据传递给格式字符串

str := fmt.Sprintf("%s", "dsfsd%a")

在这里工作example

【讨论】:

以上是关于如何在 golang 中将 %3a 或 %a 存储在 String 中?的主要内容,如果未能解决你的问题,请参考以下文章

如何在Golang beego框架中将数据从MySQL数据库保存到redis?

我们如何在golang中将json文件读取为json对象

如何在golang中将字节附加到字节数组?不是字节数组到字节数组切片等[重复]

如何在golang中将bool转换为int8 [重复]

如何在 Spark Submit 中将 s3a 与 Apache spark 2.2(hadoop 2.8) 一起使用?

如何在golang中将切片附加到字节数组