clojure是否支持返回类型的方法重载?

时间:2013-03-14 14:21:42

标签: clojure overloading

当我偶然发现this two functions时,我正在阅读一些风暴代码。它们的名称和参数都相同,但看起来它们的返回类型不同。 稍微简化代码是:

(defn- foo "Returns list of sets of things"
  [^Bar xs]
  (->> ...
       (map set)))

(defn- foo "Returns mutable set of sets of things"
  [^Bar xs]
  (->> ...
       (map set)
       (HashSet.)
       ))

有人可以了解这里发生的事情吗?

1 个答案:

答案 0 :(得分:5)

第二个定义会覆盖第一个定义。 Clojure并不关心类型。