Code:
package main
import "golang.org/x/tour/tree"
import "fmt"
// Walk walks the tree t sending all values
// from the tree to the channel ch.
func Walk(t *tree.Tree, ch chan int) {
if t == nil {
fmt.Println("Null")
return
}
if t.Left != nil {
Walk(t.Left, ch)
}
ch <- t.Value
fmt.Println("send ", t.Value)
if t.Right != nil {
Walk(t.Right, ch)
}
}
func main() {
ta := tree.New(1)
ca := make(chan int)
go func() {
Walk(ta, ca)
close(ca)
}()
for v := range ca {
fmt.Println("get ", v)
}
}
Comments:
See which line the channel is closed.
No comments:
Post a Comment