我需要一个队列( string
, int
)对。这很简单:
type job struct {
url string
depth int
}
queue := make(chan job)
queue <- job{url, depth}
Go 中是否有内置的对/元组数据类型?支持从一个函数 返回多个值,但是据我所知,生成的多个值元组在 Go 的类型系统中不是一等公民。是这样吗?
至于“你试过什么”部分,明显的语法(来自 Python 程序员的 POV)
queue := make(chan (string, int))
没用。
原文由 Fred Foo 发布,翻译遵循 CC BY-SA 4.0 许可协议
Go 中没有元组类型,你是对的,函数返回的多个值并不代表一等对象。
Nick 的回答显示了如何使用
interface{}
来处理任意类型。 (我可能使用数组而不是结构来使其像元组一样可索引,但关键思想是interface{}
类型)我的另一个答案显示了如何做类似的事情来避免使用匿名结构创建类型。
这些技术具有元组的某些属性,但不,它们不是元组。