package main import ( "fmt" "io" "os" ) //通过流式读取文件 func main() { file, err := os.Open("/Users/java0904/Downloads/json.txt") if err != nil { fmt.Println("读取文件错误", err) return } defer file.Close() //注意这里切片要初始化容量 byteSlice := make([]byte,256) var allByte []byte for { readByteNum, err := file.Read(byteSlice) if err== io.EOF { break; } if err != nil { fmt.Println(err) } //注意append切片的时候后面要加上三个点... //注意当最后一次读取当时候,有可能读取当不是256个字节, //所以不能把byteSlice整个进行append,否则会出现数据重复,这里是个坑 allByte = append(allByte,byteSlice[:readByteNum]...) } fmt.Println(string(allByte)) }