【发布时间】:2012-04-12 10:45:33
【问题描述】:
编辑:Jeremy Wall 帮助我意识到我提出的问题比我预期的更具体;这是一个更好的版本。
假设我想表示一个表,该表将某种类型 B 的值与定义了相等性的某种类型 A 的值序列相关联。在 Go 中最好的方法是什么?
显然,对于表我想使用 Go 映射,但是对于 A 类型的值序列,我可以使用什么?在 Go 中,切片不能用作 map 的键;数组可以,但是数组的长度是它类型的一部分,我对能够使用在运行时确定的长度序列感兴趣。我可以 (1) 使用 A 的数组为它们声明最大长度或 (2) 使用 A 的切片,将它们序列化为字符串以用作键(这种技术对于 Awk 和 Lua 程序员来说很熟悉......)。对于 Go 的这个“特性”,有没有比我描述的更好的解决方法?
正如 Jeremy Wall 在回答我的原始版本问题时指出的那样,我有 A = int,选项 (2) 非常适合整数,因为您可以使用符文切片,将其转换为字符串只是演员表。
【问题讨论】:
-
我在下面给出了“一个”答案,但这个问题真的太具体了,无法真正得出任何答案。了解您具体要回答的问题会有所帮助。
-
这个问题太具体了。我的想法是提到整数只是为了给出一个具体的例子,但我没想到对于其他类型不起作用的整数可能有一个非常好的和简单的解决方案。