以下片段失败,因为{{< ! >}}不在{{go}}边界内。
`
(let [port (a/chan)]
(a/go
(letfn [(my-even? [n] (if (zero? n) true (my-odd? (dec n))))
(my-odd? [n] (if (zero? n) false (my-even? (dec n))))]
(my-even? (a/<! port)))))
`
在{{letfn}}体中的异步代码应该由{{go}}宏重写,因为所有绑定函数在体开始时都可以被正确初始化。