string - GoLang的字符串映射键有字符串长度限制吗?

标签 string go hashtable

Go 的字符串映射键是否有最大长度? 其实我用https://github.com/OneOfOne/cmap而不是 Go 的 map 。

问题是,我在 cmap 中使用的 key 长度约为 200-4000 个字符,这会是一个问题/问题吗?

import "github.com/kokizzu/gotro/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
}

最佳答案

我认为唯一的限制是你的内存力。

关于string - GoLang的字符串映射键有字符串长度限制吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40675029/

相关文章:

python - 从 golang 调用 python

java - 我需要实现一个数组哈希表,该表无需在开始时将数组初始化为 null 即可工作。任何线索如何做到这一点?

performance - 布谷鸟哈希中的 "new hash functions"是什么?

algorithm - rehash 时如何提高性能?

javascript - 使用区分大小写字符的正则表达式拆分字符串上的名称

MySQL : How can i replace a part of a string?

go - golang gorm lib执行sql文件的最佳解决方案

go - 用 cgo 在 C 中制作一个 go 字符串

string - 在Powershell中将字符串变量作为参数传递

linux - 如何在名称包含另一个字符串且在过去 7 天内在 Linux 中创建的文件中搜索字符串?