我不知道之间的区别:

alts!


alt!

在Clojure的core.async中。

最佳答案

alts!函数,它接受要从中获取的通道 vector 和/或带有要置于其上的值的通道(以doubleton vector 形式:[c v])。可以动态地构建 vector 。调用alts!的代码可能不知道它将在其中选择多少个通道(实际上,在调用之间该数量不必保持恒定)。
alt!是便利的,基本上充当condalts!之间的交叉。在这里,“端口”(通道或通道+值对)的数量必须是静态已知的,但实际上,这种情况经常发生,并且类似于cond的语法非常清楚。
alt!使用alts!扩展为一个较为复杂的表达式;除了语法上的便利之外,它没有提供任何额外的功能。

10-08 12:45