这里是一个例子,我在我们生产环境中各种项目中散见,其目的是为了与一个执行数据库迁移的 Java 库(Flyway)进行互操作
<pre>
;; 当你在 Clojure 中工作与数组(并希望利用性能)时
;; 使用类型提示进行改进)您必须确保向编译器传达数组的类型。
;; 基本数组的类型提示为 ^longs、^chars、^doubles 等;对于对象数组,您需要使用一个
;; 繁琐的结构,如 ^"[Ljava.lang.String;"
;
(定义一个私有函数 ^:private flyway
^Flyway
[datasource migration-locations]
(Flyway. (doto ^FluentConfiguration
(FluentConfiguration.)
(.dataSource datasource)
(.locations ^"[Ljava.lang.String;" (into-array String migration-locations)))))
</pre>