我可以在Go中创建不同对象的关联数组吗?

时间:2014-04-19 17:59:39

标签: go

我想将某种类型的实例设置为关联数组中的元素。我应该使用什么类型的?

var objects //???

//The constructor will return instance of the IndexController type
objects["IndexController"] = index.Constructor()

fmt.Println(objects)

我会感激的!

1 个答案:

答案 0 :(得分:1)

Go map通常是同质的(每个值都是相同的类型)。如果您希望每个索引使用不同的类型,则可以创建一个阵列中的所有对象都支持的接口数组。如果您根本不需要对象支持任何方法,则可以使用空接口interface{}

objects := make(map[string]interface{})
objects["IndexController"] = somethingThatReturnsAnIndexController()