标签: clojure
考虑一下:
user=> (let [i Integer/MAX_VALUE] (+ i i)) java.lang.ArithmeticException: integer overflow (NO_SOURCE_FILE:0) user=> (def i Integer/MAX_VALUE) #'user/i user=> (+ i i) 4294967294
为什么let精确推广不会发生,我们会遇到溢出异常,但def精度提升为Long?这是一个错误吗?
let
def
Long