package main import ( "bufio" "fmt" "io" "io/ioutil" "os" "testing" ) const fileName = "README.md" //按照處理的字節數讀取 func TestReadFilr(t *testing.T) { file, err := os.Open(fileName) if err != nil { t.Error(err) } buffer := make([]byte, 1024) for { if a, b := file.Read(buffer); a != 0 && b != io.EOF { fmt.Println(b) } else { return } } } // 一次性讀取 func TestReadFile2(t *testing.T) { if d, err := ioutil.ReadFile(fileName); err == nil { str := string(d) fmt.Println(str) } else { t.Error(err) } } //TestReadFileLBL line by line func TestReadFileLBL(t *testing.T) { if file, err := os.Open(fileName); err == nil { buffer := bufio.NewScanner(file) position := 0 for buffer.Scan() { desc := fmt.Sprintf("%d >> %s", position, buffer.Text()) fmt.Println(desc) } } }