-2
Goの文字列マップキーの最大長はありますか? 実際には、Goのマップの代わりにhttps://github.com/OneOfOne/cmapを使用しています。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
Btw:コードにはいくつかの問題がありますが、マップキーの長さには関係ありません。 – Volker
内部でcmapがマップを使用しているため – Kokizzu