我正在嘗試創(chuàng)建兩個(gè) CSV 文件并同時(shí)寫入。這段代碼不是這樣工作的,但它只是為了舉例說明我想要做的事情。由于 (* csv.Writer) 是一個(gè)指針,我不知道如何將它與另一個(gè)文件區(qū)分開??梢赃@樣做嗎?package testimport ( "encoding/csv" "os" "sync" "time")var csvSuccess *os.Filevar csvError *os.Filevar csvErr errorvar csvWriterSuccess *csv.Writervar csvWriterError *csv.Writervar mutex *sync.Mutexfunc init() { csvSuccess, csvErr = os.Create("sucess-result.csv") csvError, csvErr = os.Create("error-result.csv") if csvErr != nil { panic("Error open file") } csvWriterSuccess = csv.NewWriter(csvSuccess) csvWriterError = csv.NewWriter(csvSuccess) mutex = &sync.Mutex{}}func WriteRecordSuccess(record []string) { mutex.Lock() if err := csvWriterSuccess.Write(record); err != nil { if err != nil { panic("Error writing success record") } csvWriterSuccess.Flush() } mutex.Unlock()}func WriteRecordError(record []string) { mutex.Lock() if err := csvWriterError.Write(record); err != nil { if err != nil { panic("Error writing error record") } csvWriterError.Flush() } mutex.Unlock()}func ClosecsvFile() { csvWriterSuccess.Flush() csvWriterError.Flush() csvSuccess.Sync() csvError.Sync() csvSuccess.Close() csvError.Close()}
1 回答

慕妹3146593
TA貢獻(xiàn)1820條經(jīng)驗(yàn) 獲得超9個(gè)贊
在您的init
函數(shù)中,您有兩個(gè)寫入者都寫入成功文件。
csvWriterSuccess = csv.NewWriter(csvSuccess) csvWriterError = csv.NewWriter(csvSuccess)
分別寫入成功文件和錯(cuò)誤文件。
csvWriterSuccess = csv.NewWriter(csvSuccess) csvWriterError = csv.NewWriter(csvError)
- 1 回答
- 0 關(guān)注
- 164 瀏覽
添加回答
舉報(bào)
0/150
提交
取消