-2
Go的字符串映射關鍵字是否有最大長度? 其實我用https://github.com/OneOfOne/cmap而不是Go的地圖。GoLang的字符串映射關鍵字中是否存在任何字符串長度限制?
現在的問題是,我在cmap
中使用的密鑰長度大約爲200-4000個字符,它會是一個問題/陷阱嗎?
import "gitlab.com/kokizzu/gokil/I"
import "sync/atomic"
var CACHE_IDX int64
var CACHE_KEYS cmap.CMap
func init() {
CACHE_KEYS = cmap.New()
}
// change a really long string to a shorter one
func RamKey_ByQuery(query string) string {
nkey := CACHE_KEYS.Get(query)
if nkey != nil {
return nkey.(string)
}
new_idx := atomic.AddInt64(&CACHE_IDX, 1)
ram_key := `:` + I.ToS(new_idx) // convert integer to string
CACHE_KEYS.Set(query, ram_key)
return ram_key
}
您對Go的內置地圖類型或cmap有疑問嗎?對於Go:閱讀規範。如果地圖密鑰長度沒有限制(沒有),那麼沒有限制。對於cmap:爲什麼不問作者? – Volker
順便說一句:在你的代碼中有幾個陷阱,但不是和map-key長度有關。 – Volker
,因爲內部cmap使用map – Kokizzu