如果我枚举

type XType int

const (
  X1 XType = iota
  X2
  ...
  Xn
)

var XTypeNames = []string{"x1", "x2" ... "xn"}
然后我做一个查找功能
func XTypeFrom(s string) XType {
  for i, t := range XTypeNames {
    if t == s {
      return XType(i), nil
    }
  }
  return XType(-1), fmt.Errorf("%s is not a valid XType, s")
}
我的问题是:
  • 我应在什么n上设置所有map[string]interface{}XTypeNames,并在XTypeFrom函数中使用它?哈希表是O(1)查找,但是O(1)不为零,并且这是一个const,因此它通过敏捷团队速度来增长;)而不是运行时。
  • 还有其他方法可以使编译器发挥其魔力吗? IRL与此类似的东西将被称为数十亿次。
  • 最佳答案

  • 没关系。如果从字符串中查找枚举是应用程序的瓶颈,则说明您做错了什么。

  • 09-12 00:44