【发布时间】:2012-02-18 06:52:20
【问题描述】:
我一直在使用 Go 制作一些数据结构库,但我遇到了一个大问题。我希望数据结构能够包含任何类型,但是我看不到在 Go 中执行此操作的任何方法,因为您不能声明 void 指针,并且它们没有像 NSObject 这样的类,所有东西都继承自。我如何在 Go 中实现同样的功能?
【问题讨论】:
我一直在使用 Go 制作一些数据结构库,但我遇到了一个大问题。我希望数据结构能够包含任何类型,但是我看不到在 Go 中执行此操作的任何方法,因为您不能声明 void 指针,并且它们没有像 NSObject 这样的类,所有东西都继承自。我如何在 Go 中实现同样的功能?
【问题讨论】:
根据the Go Programming Language Specification:
一个类型实现了包含其方法的任何子集的任何接口,因此可以实现几个不同的接口。例如,所有类型都实现了空接口:
界面{}
如果您在该文档中搜索 interface{},您会看到很多示例,说明如何使用它来做您想做的事。
【讨论】: