Advertisement
Guest User

Untitled

a guest
Jun 20th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.09 KB | None | 0 0
  1. package main
  2.  
  3. import "fmt"
  4. import "sync"
  5.  
  6. func main() {
  7. ch := make(chan []int, 4)
  8. var m []int
  9.  
  10. var wg sync.WaitGroup
  11. for i := 0; i < 5; i++ {
  12. wg.Add(1)
  13. go func() {
  14. defer wg.Done()
  15. ch <- m
  16. return
  17. }()
  18. }
  19. wg.Wait()
  20.  
  21. for c := range ch {
  22. fmt.Printf("c is %v", c)
  23. }
  24. }
  25.  
  26. ch := make(chan []int, 5)
  27. ...
  28. wg.Wait()
  29. close(ch)
  30.  
  31. func main() {
  32. ch := make(chan []int, 4)
  33. var m []int
  34.  
  35. var wg sync.WaitGroup
  36. for i := 0; i < 5; i++ {
  37. wg.Add(1)
  38. go func() {
  39. ch <- m
  40. return
  41. }()
  42. }
  43. go func() {
  44. for c := range ch {
  45. fmt.Printf("c is %vn", c)
  46. wg.Done()
  47. }
  48. }()
  49. wg.Wait()
  50. }
  51.  
  52. ch := make(chan []int, 5)
  53.  
  54. close(ch)
  55.  
  56. func main() {
  57. ch := make(chan []int, 4) // No matter which int number
  58. var m []int
  59. for i := 0; i < 5; i++ {
  60. go func() {
  61. ch <- m
  62. return
  63. }()
  64. }
  65. for c := range ch {
  66. fmt.Printf("c is %v n", c)
  67. }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement