我正在寻找有关 Clojure 中类型提示范围的信息,例如,如果我写
(defn big-add [^BigInteger x y] (.add x y))
是一样的吗
(defn big-add [^BigInteger x ^BigInteger y] (.add x y))
? 假设我写
(defn big-sum
([] BigInteger/ZERO)
([^BigInteger x] x)
([^BigInteger x & more] (.add x (apply big-sum more) )))
Clojure 是否假设它more
充满了BigInteger
?假设我不想告诉它?我会做类似的事情吗
(defn foo [^BigInteger x & ^Long more] ...)
?