面试题答案
一键面试package main
import (
"fmt"
"sync"
)
type Worker struct {
ID int
}
func (w Worker) Work(taskID int) {
fmt.Printf("Worker %d is working on task %d\n", w.ID, taskID)
}
func main() {
var wg sync.WaitGroup
workers := []Worker{
{ID: 1},
{ID: 2},
{ID: 3},
}
for i := 1; i <= 10; i++ {
workerIndex := (i - 1) % len(workers)
wg.Add(1)
go func(taskID int) {
defer wg.Done()
(workers[workerIndex]).Work(taskID)
}(i)
}
wg.Wait()
}