面试题golang

三个goroutine分别输出张三、李四、王五,使其按上述顺序输出5遍。 package main import ( "fmt" "sync" ) var w sync.WaitGroup func main() { w.Add(15) chan1 := make(chan struct{}, 0) chan2 := make(chan struct{}, 0) for i := 0; i < 5; i++ { go func() { defer w.Done() fmt.Println("张三") chan1 <- struct{}{} }() go func() { defer w.Done() <- chan1 fmt.Println("李四") chan2 <- struct{}{} }() go func() { defer w.Done() <- chan2 fmt.Println("王五") }() } w.Wait() } 编写程序输出某目录下的所有文件(包括子目录) package main import ( "fmt" "io/ioutil" "os" ) func main() { dir := os....

April 14, 2021 · 1 min · 李昌