Goroutine спать и тупик в коде. Как это решить?

http://play.golang.org/p/r92-KtQEGl

Я пытаюсь выполнить этот код. Выдает ошибку тупика.

Что мне не хватает?

package main

import "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){
    var temp chan int
    ch <- t.Value
    if t.Left!=nil{go Walk(t.Left,temp)}
    if t.Right!=nil{go Walk(t.Right,temp)}
    for i := range temp{
        ch <- i
    }
    close(ch)
}

// Same determines whether the trees
// t1 and t2 contain the same values.
func Same(t1, t2 *tree.Tree) bool

Ответы на вопрос(2)

Ваш ответ на вопрос