編輯:傑里米沃爾幫助我意識到我問了一個比我想要的更具體的問題;這是一個更好的版本。如何在Go中使用任意長度的值序列作爲地圖鍵?
假設我想表示一個表格,將某些類型爲B的值與某些類型爲A的值的序列關聯起來,這些類型的值的定義是相等的。 Go的最佳做法是什麼?
很明顯,對於表我想使用一個Go地圖,但我可以使用什麼類型的值的序列?在Go中,切片不能用作地圖的鍵;數組可以,但數組的長度是其類型的一部分,我感興趣的是能夠使用在運行時確定的長度序列。我可以(1)使用A的數組來聲明它們的最大長度,或者(2)使用A的切片,將它們序列化爲字符串以用作鍵(這種技術對於Awk和Lua程序員來說是熟悉的...)。 Go的這個「功能」比我描述的更好嗎?
正如Jeremy Wall在回答我的原始版本的問題時指出的那樣,我有A = int,選項(2)對於整數非常好,因爲您可以使用符號轉換爲符號的切片只是一個演員。
我給了「一個」的回答,但真正的問題是過於具體,真正引領任何形式的答案。這將有助於瞭解您正在嘗試回答的具體問題。 – 2012-04-12 02:35:02
關於這個問題過於具體,這是一個很好的觀點。我的想法是提供整數來舉出一個具體的例子,但我沒有想到,對於其他類型不適用的整數可能會有一個非常好的和簡單的解決方案。 – 2012-04-12 02:42:24