go语言之进阶篇Read的使用

1、read的使用(备注:读文件)

示例:

package main

import (
        "fmt"
        "io"
        "os"
)

func WriteFile(path string) {
        f, err := os.Create(path)
        if err != nil {
                fmt.Println("err = ", err)
                return
        }

        //使用完毕,需要关闭文件
        defer f.Close()

        var buf string

        for i := 0; i < 10; i++ {
                //"i = 1\n", 这个字符串存储在buf中
                buf = fmt.Sprintf("i = %d\n", i)
                //fmt.Println("buf = ", buf)

                n, err := f.WriteString(buf)
                if err != nil {
                        fmt.Println("err = ", err)
                }
                fmt.Println("n = ", n)
        }
}

func ReadFile(path string) {
        f, err := os.Open(path)
        if err != nil {
                fmt.Println("err = ", err)
                return
        }

        //关闭文件
        defer f.Close()

        buf := make([]byte, 1024*2) //2k大小

        //n代表从文件读取内容的长度
        n, err1 := f.Read(buf)
        if err1 != nil && err1 != io.EOF { //文件出错,同时没有到结尾
                fmt.Println("err1 = ", err1)
                return
        }

        fmt.Println("err1 = ", string(buf[:n]))

}

func main() {
        path := "./demo.txt"
        //写
        //WriteFile(path)
        //读
        ReadFile(path)
}

#执行结果: (会生成一个demo.txt的文件)

i = 0
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9