go语言实现从文件中读取一串string类型数据,并将数据按byte类型转换
时间: 2024-09-24 11:16:20 浏览: 53
在Go语言中,你可以通过`bufio`包配合`os`包来逐行读取文件内容,然后将每一行的内容转换成字节切片(byte slice)。以下是简单的示例:
```go
package main
import (
"bufio"
"fmt"
"os"
)
func readLinesFromFile(filename string) ([]byte, error) {
file, err := os.Open(filename)
if err != nil {
return nil, fmt.Errorf("failed to open file: %v", err)
}
defer file.Close()
reader := bufio.NewReader(file)
var lines []byte
for {
line, _, err := reader.ReadLine()
if err == io.EOF {
break
} else if err != nil {
return nil, fmt.Errorf("error reading line from file: %v", err)
}
lines = append(lines, line...)
}
return lines, nil
}
func main() {
data, err := readLinesFromFile("yourfile.txt")
if err != nil {
fmt.Println(err)
return
}
// 打印每个字符串作为字节切片
for i, s := range strings.Split(string(data), "\n") {
fmt.Printf("Line %d: %s\n", i+1, s)
}
}
```
在这个例子中,我们首先打开文件,然后创建一个`bufio.Scanner`来逐行读取。每读到一行就将其添加到`lines`字节切片中,直到读完所有内容。最后,我们将整个`lines`转换回字符串以便处理。
阅读全文