Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package main
- import (
- "fmt"
- "sync"
- )
- func main() {
- wg := sync.WaitGroup{} // Эта штука нужна для синхронизации, а то основной поток программы (main) закончится раньше, чем "побочные" горутины и они ничего не успеют напечатать.
- for i := 0; i <= 10; i++ {
- wg.Add(1) // Счётчик горутин + 1
- go func(i int) { // Обрати внимание, я передал i как агрумент - это потому что иначе все горутины бы обращались к одному и тому же адресу (через замыкание).
- for j := 0; j <= 10; j++ {
- fmt.Printf("%d-%d\n", i, j)
- }
- wg.Done() // Счётчик горутин - 1
- }(i)
- }
- wg.Wait() // Ждём, пока счётчик горутин станет равен 0
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement