3
我看到了Clojure的功能像什麼是Clojure中的函數類型提示
(defn strFun
[#^String str]
(...))
[#^字符串str]我猜#^String
的類型是暗示,但什麼是String
前#
和^
?
我看到了Clojure的功能像什麼是Clojure中的函數類型提示
(defn strFun
[#^String str]
(...))
[#^字符串str]我猜#^String
的類型是暗示,但什麼是String
前#
和^
?
這是指定簡單元數據標籤的舊格式,它只是^TagName
。您將在不時轉換的過程中看到代碼,儘管無需使用它。
user> #^String ["hello"]
["hello"]
user> (meta #^String ["hello"])
{:tag java.lang.String}
相同不使用#
user> (meta ^String ["hello"])
{:tag java.lang.String}
user>
PS:在這個例子中我標記有標籤java.lang.String中的載體。需要注意的是,您用作標籤的符號將被解析,符號解析的值將被用作標籤。所以你不能使用未定義的符號。