Clojure`defn`参数是否在括号中

我看到一个Clojure函数被定义为

(defn toInt([i] (Integer. i)))

为什么参数[i]包含在括号内? 这和下面一样吗? 有什么区别?

 (defn toInt [i] (Integer. i)) 

第一个使用符号重载的符号,但只包含一个参数。

两个宝座的例子:

(defn my-add 
  ([x] (+ x 1))
  ([x y] (+ x y)))

(my-add 1) ;;=> 2
(my-add 1 2) ;;=> 3

另请参阅http://clojure.org/functional_programming(搜索arity重载)。

链接地址: http://www.djcxy.com/p/82571.html

上一篇: Clojure `defn` parameter in parentheses or not

下一篇: purpose of defn in Clojure