我有很多小文件,我不想逐行阅读它们。
Go 中是否有一个函数可以将整个文件读入一个字符串变量?
原文由 WoooHaaaa 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您只希望内容为 string
,那么简单的解决方案是使用 ReadFile
中的函数 io/ioutil
此函数返回 bytes
的切片,您可以轻松地将其转换为 string
。
Go 1.16 或更高版本
对于此示例,将 ioutil
os
。
package main
import (
"fmt"
"os"
)
func main() {
b, err := os.ReadFile("file.txt") // just pass the file name
if err != nil {
fmt.Print(err)
}
fmt.Println(b) // print the content as 'bytes'
str := string(b) // convert content to a 'string'
fmt.Println(str) // print the content as a 'string'
}
Go 1.15 或更早版本
package main
import (
"fmt"
"io/ioutil"
)
func main() {
b, err := ioutil.ReadFile("file.txt") // just pass the file name
if err != nil {
fmt.Print(err)
}
fmt.Println(b) // print the content as 'bytes'
str := string(b) // convert content to a 'string'
fmt.Println(str) // print the content as a 'string'
}
原文由 openwonk 发布,翻译遵循 CC BY-SA 4.0 许可协议
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.4k 阅读
2 回答885 阅读✓ 已解决
2 回答2.2k 阅读
1 回答2.1k 阅读
使用
ioutil.ReadFile
:您将得到
[]byte
而不是string
。如果 确实 需要,可以转换它: