我已经看到 golang 有函数 func TrimPrefix(s, prefix string) string
它返回没有提供的前导前缀字符串的 s。
我的问题是我有一个以字符“\”开头的字符串(例如“\foo”)。当我尝试使用 TrimPrefix 时出现错误。
golang 代码:
var s = "\foo"
s = strings.TrimPrefix(s, "\")
fmt.Print(s)
错误:
./prog.go:10:32: newline in string
./prog.go:10:32: syntax error: unexpected newline, expecting comma or )
我已经看到这是由于 golang understang "\"作为 scape 字符。你知道我是否可以使用任何 golang 选项来让 golang 明白我不想使用“\”作为转义字符?
最佳答案
"\"
不是有效的 Go 字符串文字。你得到的是一个编译时错误。在 interpreted string literals反斜杠 \
是一个特殊字符。
如果您希望字符串包含反斜杠字符,则必须使用序列 \\
:
var s = "\\foo"
s = strings.TrimPrefix(s, "\\")
哪个将输出(在 Go Playground 上尝试):
foo
另一种选择是使用原始字符串文字,其中反斜杠不是特殊的:
var s = `\foo`
s = strings.TrimPrefix(s, `\`)
在 Go Playground 上试试这个.
关于string - Golang trimPrefix 来自字符串 "\",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59091392/