go语音之进阶篇Read的使用

Posted nulige

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
", 这个字符串存储在buf中
		buf = fmt.Sprintf("i = %d
", 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

  

 

以上是关于go语音之进阶篇Read的使用的主要内容,如果未能解决你的问题,请参考以下文章

go语音之进阶篇正则表达式

go语音之进阶篇方法的重写

go语音之进阶篇方法表达式

go语音之进阶篇字符串转换

go语音之进阶篇通过结构体生成json

go语音之进阶篇通过map生成json