Clojure 中的 def 和 defonce 有什么区别?
什么时候使用 def 而不是 defonce 还是相反?
最佳答案
defonce
当变量已经定义时被跳过。
user> (def a 1) ;;=> #'user/a
user> a ;;=> 1
user> (def a 2) ;;=> #'user/a
user> a ;;=> 2
user> (defonce b 1) ;;=> #'user/b
user> b ;;=> 1
user> (defonce b 2) ;;=> nil
user> b ;;=> 1
关于clojure - Clojure 中的 def 和 defonce 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37346984/