先在命名空間xxx下建立一個私有變量java
(ns xxx) (def ^:private value 1) xxx/value ; 1
切換回user命名空間,訪問xxx/value,會獲得一個異常(訪問權限在起做用)code
(ns user) xxx/value ; CompilerException java.lang.IllegalStateException: var: xxx/value is not public, compiling:(NO_SOURCE_PATH:0:0)
Clojure容許經過其餘方式得到私有值io
; 用#'能夠獲得引用類型Var #'xxx/value ; 用deref對Var進行引用求值(或@) (deref #'xxx/value) ; 1 @#'xxx/value ; 1 ; 爲了方便使用,將其綁定到當前命名空間 (def value @#'xxx/value) value ; 1