我目前正在使用一种方法,我有一个“基础”文件,用于定义包的类型,接口和基本API。然后,我创建一个_windows.go
和_linux.go
文件,并添加我可以应用该接口的平台特定类型。设置基本上是这样的:http://play.golang.org/p/2DJxTuSAIh。
答案 0 :(得分:2)
接口的使用是一个正交的概念。使用接口有意义的接口,但通常只需在正确的GOOS和GOARCH文件中提供相同名称的实现即可。
使用公共构造函数名称的方法(来自您的示例)也用于std lib中的位置,将全局变量名称分配给函数的方法(在概念上与前一种方法类似) 。
因为Go是静态类型的,并且您无法重新声明全局标识符,所以构建系统将始终捕获问题;这只是测试所有适用系统的问题,以确保没有OS或ARCH有过时的实现。