在 Go 中将整个文件读入字符串
处理大量小文件时,单独读取每一行可能效率很低。 Go 提供了一个方便的函数来方便地将整个文件读取到单个字符串变量中。
使用已弃用的 ioutil 包的解决方案:
过时的 ioutil 包包含一个名为ReadFile 可以将文件读取到字节片中:
func ReadFile(filename string) ([]byte, error)
请注意,此函数返回一个字节片,其中如果需要,必须转换为字符串:
s := string(buf)
使用 io 包的解决方案(新代码首选):
io 包提供了现代且首选的解决方案ioutil.ReadFile 的替代方案:
func ReadAll(r io.Reader) ([]byte, error)
此函数需要一个 io.Reader 作为输入,其中一个文件可以轻松适应使用 os.Open:
file, err := os.Open(filename) if err != nil { // Handle error } data, err := io.ReadAll(file) if err != nil { // Handle error }
如果需要,生成的字节切片可以再次转换为字符串。
以上是Go中如何高效地将整个文件读入字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!