我有一个字符串,我需要是只读文件指针(*os.File
(。我无法使用strings.NewReader
,因为该函数只接受*os.File
。这可能吗?
我意识到我可以直接将字符串写入文件,然后再次打开它。但我想避免这一步。
简短的回答是你不能。出于这个原因,一般不建议在 Go 中编写采用 os 的函数。文件,除非您实际执行手动系统调用或其他需要操作系统的操作。文件。相反,您的函数应该接受 io。读取器或其他接口(可能包含 io.导引头(取决于需要什么。
如果您可以修改需要操作系统的位置。文件,这是你最好的选择。如果你不能,它真的只需要一个阅读器,你可以使用os。管。
有了更多的背景,我也许能够给出更好的建议。
不能从字符串创建*os.File
。如果不能使用io.Reader
,最好的办法是将字符串写入临时文件,然后使用os.Open
获取*os.File
。