package main

import (
	"fmt"
	"sync"
)

func main() {
	var wg sync.WaitGroup

	for id := 1; id <= 3; id++ {
		id := id
		wg.Go(func() {
			fmt.Printf("task %d finished\n", id)
		})
	}

	wg.Wait()
	fmt.Println("all tasks finished")
}
