go里面的io-Writerr操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30103483/article/details/89493138

截取自我的博客:https://chunlife.top/

将string转换成 io.Writer,可以进行类似于write的操作,类似于写文件一样。

s := "Hello"
buf := bytes.NewBufferString(s)
fmt.Fprint(buf, ", World!")
fmt.Println(buf.String())

同样的,打开的文件也可以被转换成 io.Writer,继而直接向其写入数据。

f, err := os.OpenFile(fileName, os.O_WRONLY|os.O_CREATE|os.O_TRUNC, os.ModePerm)
if err != nil {
	return
}
defer f.Close()

w := bufio.NewWriter(f)
fmt.Fprintln(w, fmt.Sprintf("start analysis log at the %s \r\n", `"`+logFileDir+`"`))

以上不管是写文件还是写字符串,在需要大量写时,效率即会体现出来。

猜你喜欢

转载自blog.csdn.net/qq_30103483/article/details/89493138