1 回答

TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊
您正在調(diào)用create每個(gè) goroutine,這將截?cái)辔募O喾?,在外部?chuàng)建文件,并使用另一個(gè) goroutine 序列化對(duì)其的寫入:
outfile, err := os.Create("urls.txt")
results:=make(chan []string)
go func() {
for output:=range results {
for _, links := range output {
fmt.Fprintln(outfile, links)
}
}
}()
scanner := bufio.NewScanner(file)
for scanner.Scan() {
go Grabber(scanner.Text(), results)
wg.Add(1)
}
wg.Wait()
close(results)
在 Grabber 中獲取結(jié)果時(shí),不要將其寫入文件,而是將其寫入通道:
results<-output
for _, links := range output {
fmt.Println(links)
}
- 1 回答
- 0 關(guān)注
- 212 瀏覽
添加回答
舉報(bào)