go语言io reader_【已解决】go语言中如何使用io的MultiWriter

【背景】

折腾:

期间,需要去搞懂:

如果新建和设置MultiWriter。

【折腾过程】

1.参考:

去看看:

2.然后去试试代码:var filenameOnly string

filenameOnly = GetCurFilename()

fmt.Println("filenameOnly=", filenameOnly)

var logFilename string = filenameOnly + ".log";

fmt.Println("logFilename=", logFilename)

logFile, err := os.OpenFile(logFilename, os.O_RDWR | os.O_CREATE, 0777)

if err != nil {

fmt.Printf("open file error=%s\r\n", err.Error())

os.Exit(-1)

}

defer logFile.Close()

writers := []io.Writer{

logFile,

os.Stdout,

}

fileAndStdoutWriter := io.MultiWriter(writers...)

fileAndStdoutWriter.Write([]byte("show in both log file and console via multiwriter"))

结果是:

是可以实现对应的效果的:

show-info-both-in-log-file-and-console_thumb.png

至此,至少基本实现了:

如何新建和使用MultiWriter了。

【总结】

新建和使用MultiWriter的示例代码如下:var logFilename string = "multiWriterTest.log";

fmt.Println("logFilename=", logFilename)

logFile, err := os.OpenFile(logFilename, os.O_RDWR | os.O_CREATE, 0777)

if err != nil {

fmt.Printf("open file error=%s\r\n", err.Error())

os.Exit(-1)

}

defer logFile.Close()

writers := []io.Writer{

logFile,

os.Stdout,

}

fileAndStdoutWriter := io.MultiWriter(writers...)

fileAndStdoutWriter.Write([]byte("show in both log file and console via multiwriter\r\n"))

虽然效果不是那么爽,但是基本能用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值