go - 在 golang 中转义撇号

标签 go

如何在 golang 中转义撇号? 我有一个字符串

s = "I've this book"

我也想去

s = "I\'ve this book"

如何实现? 提前致谢。

最佳答案

仅当可以用两种或多种方式解释字符时才需要转义字符。字符串中的撇号只能解释为撇号,因此不需要转义。这可能就是您看到错误消息 unknown escape sequence: ' 的原因。

如果因为插入数据库需要转义撇号,首先考虑使用库函数转义或直接插入数据。正确的转义是过去几十年许多安全问题的罪魁祸首。 你几乎肯定会做错

话虽如此,您必须转义 \ 才能执行您想要的操作 (click to play):

fmt.Println("\\'") # outputs \'

当您使用 cassandra 时,您可以使用像 gocql 这样的包为您提供参数化查询:

session.Query(`INSERT INTO sometable (text) VALUES (?)`, "'escaping'").Exec();

关于go - 在 golang 中转义撇号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23072047/

相关文章:

xml - 具有命名空间的 Golang XML Marshal

algorithm - 如何在 Go 中删除空格

go - 使用反射获取函数名称

golang 类型转换规则

arrays - 使用非UTF-8编码的字符串作为映射键

go - 如果长度 > 100,则删除 slice 中的第一项

google-app-engine - 创建子记录时抛出 Invalid Key 消息

regex - 替换字符串中除最后 4 个字符外的所有字符

go - os.Mkdir 与 syscall.Mkdir,在 Golang 中有什么区别?

golang JSON RPC授权