package main

import "fmt"

func main() {
	letter := make(chan struct{})
	number := make(chan struct{})

	go func() {
		for i := 0; i < 26; i++ {
			<-number
			fmt.Printf("%c ", 'A'+i)
			letter <- struct{}{}
		}
	}()

	go func() {
		for i := 0; i < 26; i++ {
			<-letter
			fmt.Printf("%d ", i)
			number <- struct{}{}
		}
	}()

	number <- struct{}{}
	<-letter
}

//package main
//
//import "fmt"
//
//func main() {
//	ch := make(chan string) // 1. 造一根管道
//
//	go func() { // 2. 启动一个工人(goroutine)
//		ch <- "hello from another goroutine" //   放进管道
//	}()
//
//	msg := <-ch // 3. 主工人从管道拿数据
//	fmt.Println(msg)
//}
