goroutine3.go 393 B

123456789101112131415161718192021222324252627282930
  1. package main
  2. import "fmt"
  3. func main() {
  4. ch := make(chan string)
  5. go sendData(ch)
  6. getData(ch)
  7. }
  8. func sendData(ch chan string) {
  9. ch <- "Washington"
  10. ch <- "Tripoli"
  11. ch <- "London"
  12. ch <- "Beijing"
  13. ch <- "Tokio"
  14. close(ch)
  15. }
  16. func getData(ch chan string) {
  17. for {
  18. input, open := <-ch
  19. if !open {
  20. break
  21. }
  22. fmt.Printf("%s ", input)
  23. }
  24. }
  25. // Washington Tripoli London Beijing Tokio