chan_test.go 456 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package chan_test
  2. import (
  3. "fmt"
  4. "testing"
  5. )
  6. func TestClose(t *testing.T) {
  7. ch := make(chan int)
  8. close(ch)
  9. <-ch
  10. <-ch
  11. <-ch
  12. println("ok")
  13. }
  14. type Tuple[K comparable, V any] struct {
  15. K K
  16. V V
  17. }
  18. func TestWalk(t *testing.T) {
  19. tch := make(chan *Tuple[int, string], 100)
  20. go func() {
  21. for n := 1; n < 10000; n++ {
  22. s := fmt.Sprint("V", n)
  23. tch <- &Tuple[int, string]{n, s}
  24. }
  25. close(tch)
  26. }()
  27. for a := range tch {
  28. println(a.K, a.V)
  29. }
  30. }