如何在Go中创建一对类型?

9
我想创建一个类似于pair(string, int)的键值对。我知道在Go语言中没有pair类型,并且也知道切片只能保存相同的数据类型。那我该如何做呢?
1个回答

14

Go 与其他一些语言不同,并没有元组。可以创建一个结构体类型,其中包含一个字符串和一个整型字段:

type myStruct struct {
    str string
    num int
}

你说得对。你不一定需要元组 - Go结构体也可以正常工作。匿名结构体也可以使用。元组可能会在未来的Go版本中成为“好用”的列表,因为它们可能会使代码更简洁。但我不确定这是否会带来很大的优势。 - Rick-777
@Rick-777 多重返回功能消除了元组的许多使用情况。 - dethtron5000
是的,说得好。它使用堆栈帧,因此比Scala元组在多个返回值方面更有效率。 - Rick-777
如果能像Scala一样访问返回多个值的函数就太好了。例如:func multiple() (int, error) { ...},可以使用multiple()._1 - Nick

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接