猿问

除非在命令行标志中引用,否则将删除反斜杠

我正在使用标志包来解释在命令行输入的标志。

我使用创建了一个变量

ptrString := flag.String("string", "", "A test string")
flat.Parse()

然后当我想打印时,

fmt.Println("You entered " + *ptrString)

如果我输入类似 -string=hello! 作为命令行参数,它打印“你好!”

如果我输入类似 -string=hello\Bob 的内容作为命令行参数,它会打印“helloBob”

是否有推荐的方法将标志参数转换或解释为不删除反斜杠的字符串?(这是在 Linux 和 OS X 上测试的,如果 shell 有干扰......)


桃花长相依
浏览 166回答 1
1回答

慕容708150

在 shell 中具有特殊含义的字符需要被引用或转义。您可以在 shell 的手册页中找到完整列表(在 中的“引用”下man 1 bash)。在这种情况下,您可以引用或转义 baskslash-string=hello\\Bob// or-string='hello\Bob'
随时随地看视频慕课网APP

相关分类

Go
我要回答