简介
读取文件内容在每个语言里面都有,go语言中主要注意文件读完后会返回一个异常 io.EOF,根据这个异常去判断就可以了
代码实现
go
package main
import (
"bufio"
"fmt"
"io"
"os"
)
func main() {
lines := Read("test.txt")
for _, line := range lines {
fmt.Println(line)
}
}
// ReadFile 文件读取操作
// 按行读取文件
func ReadFile(file io.Reader) []string {
var result []string
reader := bufio.NewReader(file)
for {
line, _, err := reader.ReadLine()
if err != nil && err != io.EOF {
panic(err)
}
if err == io.EOF { //读取完了
break
}
result = append(result, string(line))
}
return result
}
func Read(fileName string) []string {
file, err := os.Open(fileName)
if err != nil {
panic(err)
}
defer file.Close()
return ReadFile(file)
}
func ReadBytes(fileName string) []byte {
data, err := os.ReadFile(fileName)
if err != nil {
return nil
}
return data
}
测试
shell
$ cat test.txt
hello shura
end
执行程序,输出
text
hello shura
end
总结
以上就是go读取文件内容的代码了,平时作为自己的一个小工具库用
欢迎关注,学习不迷路!