为什么我们需要所有require
,import
和use
?
答案 0 :(得分:39)
<强>需要强>
require加载Clojure库,以便您可以在当前文件或REPL中使用它。
这是访问Clojure库中函数和定义的常用方法。
使用强>
use以与require相同的方式引入Clojure命名空间,但另外它将引用到当前命名空间中加载的命名空间中的定义(即它创建了一个方便的别名在当前的命名空间中)。
不要过度使用它(双关语) - 它很容易导致命名空间冲突!
导入强>
import仅用于导入Java类和接口。
user=> (import java.util.Date)
java.util.Date
user=> (def *now* (Date.))
#'user/*now*
如果您不需要与Java代码进行互操作,那么您可以放心地忽略导入。