Go 戈朗:读一个文件

Go 戈朗:读一个文件,go,Go,我只是想读一个简单的文件,它和实际的程序在同一个目录下。我不断地犯这个奇怪的错误,我的目标是“出现”(正如他们所说) 所以这是一个奇怪的错误,我一直在想 panic: open ... /foo.txt : no such file or directory goroutine 1 [running]: main.check(0x22081c49a0, 0x2081ec240) ... /read.go:13 +0x50 main.main() ... /read.go:36 +0x6b0 e

我只是想读一个简单的文件,它和实际的程序在同一个目录下。我不断地犯这个奇怪的错误,我的目标是“出现”(正如他们所说)

所以这是一个奇怪的错误,我一直在想

panic: open ... /foo.txt
: no such file or directory

goroutine 1 [running]:
main.check(0x22081c49a0, 0x2081ec240)
... /read.go:13 +0x50
main.main()
... /read.go:36 +0x6b0
exit status 2
当我只使用静态名称而不是标准名称时,它工作得很好。standard in拉入该字符串,然后试图将其转换为文件路径的方式一定有些奇怪

f, err := reader.ReadString('\n')
这将读取并包括
\n
。所以您的文件名是
/foo.txt\n
,它不存在

如果愿意,可以使用
strings.Trim()
删除换行符

这将读取并包括
\n
。所以您的文件名是
/foo.txt\n
,它不存在


如果愿意,可以使用
strings.Trim()
删除换行符。

谢谢Rob。总是那些我忽略的简单的事情!谢谢你,罗布。总是那些我忽略的简单的事情!建议:不要从终端读取交互式输入。有很多微妙之处会分散对实际代码的注意力。将命令行与包标志一起使用。建议:不要从终端读取交互式输入。有很多微妙之处会分散对实际代码的注意力。将命令行与包标志一起使用。
f, err := reader.ReadString('\n')