I am not with a computer, so I am writing a draft. You can be clear from what I am saying.
func main(){ const dir = "/etc/" filesInfo, e := ioutil.ReadDir(dir) var fileNames = make([]string, 0, 10) for i,v:=range filesInfo{ if !v.IsDir() { fileNames = append(fileNames, v.Name()) } } var fileNumber = len(fileNames) var contents = make([]string, fileNumber, 10) wg := sync.WaitGroup{} wg.Add(fileNumber) for i,_:=range content { go func(i int){ defer wg.Done() buf,e := ioutil.Readfile(fmt.Printf("%s/%s", dir, fileName[i])) defer file.Close() content[i] = string(buf) }(i) } wg.Wait() }
fwhez Feb 01 '19 at 7:40 2019-02-01 07:40
source share