1 Star 0 Fork 0

qw_1215/glink

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
fs.go 707 Bytes
一键复制 编辑 原始数据 按行查看 历史
qw_1215 提交于 2020-03-12 22:26 +08:00 . 项目初始化
package sink
import (
streams "gitee.com/qw_1215/glink"
"os"
)
// FileSink stores items to file
type FileSink struct {
fileName string
in chan interface{}
}
// NewFileSink returns new FileSink instance
func NewFileSink(fileName string) *FileSink {
sink := &FileSink{fileName, make(chan interface{})}
sink.init()
return sink
}
func (fs *FileSink) init() {
go func() {
file, err := os.OpenFile(fs.fileName, os.O_CREATE|os.O_WRONLY, 0600)
streams.Check(err)
defer file.Close()
for elem := range fs.in {
_, err = file.WriteString(elem.(string))
streams.Check(err)
}
}()
}
// In returns channel for receiving data
func (fs *FileSink) In() chan<- interface{} {
return fs.in
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/qw_1215/glink.git
git@gitee.com:qw_1215/glink.git
qw_1215
glink
glink
195e12e86392

搜索帮助