我已经看到 golang 有函数func TrimPrefix(s, prefix string) string返回 s 没有提供的前导前缀字符串。
我的问题是我有一个以字符“\”开头的字符串(例如“\foo”)。当我尝试使用 TrimPrefix 时出现错误。
高朗代码:
var s = "\foo"
s = strings.TrimPrefix(s, "\")
fmt.Print(s)
Run Code Online (Sandbox Code Playgroud)
错误:
./prog.go:10:32: newline in string
./prog.go:10:32: syntax error: unexpected newline, expecting comma or )
Run Code Online (Sandbox Code Playgroud)
我已经看到这是由于 golang understang "\" 作为 scape 字符。你知道我是否可以使用任何 golang 选项来让 golang 明白我不想使用“\”作为转义字符?
"\"不是有效的 Go 字符串文字。你得到的是一个编译时错误。在解释字符串文字中,反斜杠\是一个特殊字符。
如果您希望字符串包含反斜杠字符,则必须使用序列\\:
var s = "\\foo"
s = strings.TrimPrefix(s, "\\")
Run Code Online (Sandbox Code Playgroud)
哪个将输出(在Go Playground上尝试):
foo
Run Code Online (Sandbox Code Playgroud)
另一种选择是在反斜杠不特殊的情况下使用原始字符串文字:
var s = `\foo`
s = strings.TrimPrefix(s, `\`)
Run Code Online (Sandbox Code Playgroud)
在Go Playground上试试这个。
| 归档时间: |
|
| 查看次数: |
1205 次 |
| 最近记录: |