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"))
結果是:
是可以實現對應的效果的:
至此,至少基本實現了:
如何新建和使用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"))
雖然效果不是那么爽,但是基本能用。
總結
以上是生活随笔為你收集整理的go语言io reader_【已解决】go语言中如何使用io的MultiWriter的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 逯姓的来源
- 下一篇: golang 包含文本_Golang教程