: 다음io.Reader 분할 - ReadWriter 사용? 다음 예 가정
func Execute(r io.Reader) {
// do soemthing
}
func BatchFromCSV(cr csv.Reader, batchSize int) {
n := 0
for {
r, err := cr.Read()
if err != nil {
if err != io.EOF {
panic(err)
}
break
}
n = n + 1
// Execute() when batchSize == n
}
}
일종의 버퍼를 생성하지 않고 수신 리더 분할하는 방법이되고, 바이트를 사용/string.NewReader()? 이것이 ReadWriter를위한 장소입니까? 그렇다면 어떻게하면 readWriter를 구현할 수 있습니까?
"들어오는 리더를 분할"한다는 것은 무엇을 의미합니까? – JimB
call 각 배치에 대해 실행합니다. 일괄 처리 크기가 200 인 300 행의 csv는 Execute가 두 번 호출되는 결과를 가져옵니다. 그 부분은 사소한 일로, 나는 Execute를주는 가장 효율적인 방법에 관심이있다. 이것이 ReadWriter가 들어오는 지 확실하지 않았습니다. – kwolfe
'io.ReadWriter'는 읽고 쓰기위한 것이고, 나는 무엇을 쓸 계획입니까? (또한'csv.Reader'는 당신을 혼란스럽게하는 경우를 대비해'io.Reader'가 아닙니다). – JimB