为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 golang 中将“\t”读为选项卡

如何在 golang 中将“\t”读为选项卡

Go
拉莫斯之舞 2022-05-10 15:59:22
我试图"\t"从 shell 解析为TAB,但是,它不起作用。这里我举一个简单的例子。package mainimport (    "flag"    "fmt")func main() {    var sep string    flag.StringVar(&sep, "sep", " ", "separator")    flag.Parse()    fmt.Println("name" + sep + "xxx")    // separator is quoted by golang    fmt.Printf("%q\n", sep)}结果:$ go run main.go -sep '\t'name\txxx"\\t"有简单的解决方案吗?
查看完整描述

1 回答

?
慕容3067478

TA贡献1773条经验 获得超3个赞

\t是一个反斜杠转义,表示制表符(例如在解释的字符串文字中)。如果您有反斜杠转义,您可以使用strconv.Unquote()它来“解码”它(进入制表符)。


你必须知道的一件事:strconv.Unquote()要求它的参数用引号引起来,例如你必须"\t"不简单地传递\t.


sep, err := strconv.Unquote(`"` + sep + `"`)

if err != nil {

    panic(err)

}

加上这个,运行go run main.go -sep '\t',输出是:


name    xxx

"\t"


查看完整回答
反对 回复 2022-05-10
  • 1 回答
  • 0 关注
  • 189 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信