Golang 读写文件

读文件

func ReadFile_v1(filename string) {
    var (
    	err error
        content []byte
    )
    fileObj,err := os.Open(filename)
    if err != nil {
        fmt.Println("os open error:",err)
        return
    }
    defer fileObj.Close()
    content,err = ioutil.ReadAll(fileObj)
    if err != nil {
        fmt.Println("ioutil.ReadAll error:",err)
        return
    }
    fmt.Println(string(content))
}

// 还有种方法
func Readfile_v2(filename string) {
    var (
        err error
        content []byte
    )
    content,err = ioutil.ReadFile(filename)
    if err != nil {
        fmt.Println(err)
        return
    }
    fmt.Println(string(content))
}

写入文件

func WriteFile(filename , data string) {
    var (
        err error
    )
    // 拿到一个文件对象
    // file对象肯定是实现了io.Reader,is.Writer
    fileObj,err := os.Create(filename)
    if err != nil {
        fmt.Println(err)
        return
    }
    // 方式一
    _,_ = fmt.Fprintf(fileObj,data)
    
    // 方式二
    writer := bufio.NewWriter(fileObj)
    defer writer.Flush()
    writer.WriteString(data)
}
原文地址:https://www.cnblogs.com/zhuchunyu/p/11289331.html