如何创建带有转义字符的字符串?

huangapple go评论105阅读模式
英文:

How create string with escape character?

问题

我想创建字符串"str",但我想给字符串一个变量名。

例如:

x := "name"
q := fmt.Sprintf("\"%s\"", x)

我希望q的值为"\"name\""

我尝试了这个链接。

英文:

I want to create string \"str\" but i want to give variable name to str.
For ex :

x := "name"
q := fmt.Sprintf("\"%s\"", x)

I want q = "\"name\""

I tried this

答案1

得分: 3

使用以 \ 开头的转义序列来显示格式化字符串中的特殊字符字面值,例如 \\ 表示 \\" 表示 "

package main

import (
	"fmt"
)

func main() {
	x := "hello"
	q := fmt.Sprintf("\\\"%s\\\"", x)
	fmt.Println(q)
}
英文:

Use escape sequences preceded by \ to show literal special characters in a formatted string \\ for \ and \" for "

package main

import (
	"fmt"
)

func main() {
	x := "hello"
	q := fmt.Sprintf("\\\"%s\"\\", x)
	fmt.Println(q)
}

答案2

得分: 0

一个更加功能强大、灵活的解决方案,根据你的喜好:

x := "hello"
p := []byte{'"', '\\', '"', '"'}
q := append(append(p, []byte(x)...), p...)
fmt.Printf("%s", q)

https://play.golang.org/p/MHOsdefZYW

英文:

A more functional, flexible solution, depending on your taste:

x := "hello"
p := []byte{'"', '\\', '"', '"'}
q := append(append(p, []byte(x)...), p...)
fmt.Printf("%s", q)

https://play.golang.org/p/MHOsdefZYW

huangapple
  • 本文由 发表于 2017年8月10日 04:00:42
  • 转载请务必保留本文链接:https://go.coder-hub.com/45599637.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定