0
私は、パスを取得した後に読み込まれる区切りファイルのリストを持っています。パスを文字列として保存するのではなく、単にbufio.Scannerのリストを保存すれば、あとで読むのがはるかに簡単になります(そしてコードもより洗練されます)。ここでは簡単な例である:上記の例のように後でgolangで読むファイルには* bufio.Scannerのリストを使用することをお勧めしますか?
func main(){
scannerList := read(filenameList)
dowork(scannerList)
}
func read(filenameList []string) (scannerList []*bufio.Scanner){
for _, filename := range filenameList{
op, _ := os.Open(filename)
defer op.Close()
scanner := bufio.NewScanner(op)
scannerList = append(scannerList, scanner)
}
return
}
func dowork(scannerList []*bufio.Scanner){
for _, scanner := range scannerList{
for scanner.Scan(){
//read stuff
}
//do stuff
}
}
私のコードをコンパイルしますが、これはお勧めします(または作品)されている場合、私は知りません。コメントはありますか?ありがとう!
スキャナにop(os.Openからの)に関する情報があるかどうか分かりますか?言い換えれば、関数read()または関数dowork()の内部でトリガーされたop.Close()の遅延ですか?ありがとう! – Kyle
これはスキャナとは関係がありません。あなたは 'read'で' Close'を呼び出します。したがって、 'close'は' read'で呼び出されます。 – Adrian