package main import ( "bufio" "fmt" "io" "io/ioutil" "os" ) func dome01() { file, err := os.Open("E:\\GOGO\\GOE\\dome01\\main.go") if err != nil { fmt.Println("das", err) return } defer file.Close() //var tmp = make([]byte, 128) for { var tmp [128]byte //Read 只读 n, errors := file.Read(tmp[:]) if errors != nil { fmt.Println("为二", errors) return } fmt.Printf("读取了%d个字节", n) fmt.Println() fmt.Println(string(tmp[:n])) if n < 128 { return } } } // 利用bufio func deme02() { fileObj, err := os.Open("E:\\GOGO\\GOE\\dome01\\main.go") if err != nil { fmt.Println("第一", err) return } defer fileObj.Close() reder := bufio.NewReader(fileObj) for { line, errorr := reder.ReadString('\n') if err == io.EOF { return } if errorr != nil { fmt.Printf("read err %d", errorr) return } fmt.Println(line) } } func dome03() { ret, err := ioutil.ReadFile("E:\\GOGO\\GOE\\dome01\\main.go") if err != nil { fmt.Printf("123123", err) } fmt.Println(string(ret)) } func main() { dome03() }