字符串的奇怪行为.TrimSufffix \n



我正试图从键盘读取的文件名中删除,但生成的串联路径很奇怪。

(在windows上转到1.11(

fmt.Println("Enter file name:")
reader := bufio.NewReader(os.Stdin)
//read line from console
filename, _ := reader.ReadString('n')
//filename = filename[0 : len(filename)-2] // this one seems to work
filename = strings.TrimSuffix(filename, "n")
fmt.Println("1" + filename + "2")

输入ABC和换行符将产生以下输出,擦除1:

输入文件名:

ABC

2ABC

这里发生了什么?我的猜测是,我的\n实际上是一个2个字符的CRLF,并且TrimSuffix没有正确处理它。这就是问题所在吗?

使用strings.TrimSpace(string) string:

fmt.Println("Enter file name:")
reader := bufio.NewReader(os.Stdin)
//read line from console
filename, _ := reader.ReadString('n')
filename = strings.TrimSpace(filename)
fmt.Println("1" + filename + "2")

游乐场

相关内容

  • 没有找到相关文章

最新更新