这个golang代码有什么作用?

时间:2016-01-01 22:51:29

标签: go

我正在阅读DigitalOcean的golang客户端。我注意到他们在_变量中创建了他们的* Op结构的实例。例: https://github.com/digitalocean/godo/blob/master/droplets.go#L32

var _ DropletsService = &DropletsServiceOp{}

为什么需要这条线?

2 个答案:

答案 0 :(得分:9)

这一行是*DropletsServiceOp满足DropletsService接口的编译时检查。

该行对程序的执行没有影响。

答案 1 :(得分:3)

如果你看一下该文件的责任,那么你就会得到一个线索:

https://github.com/digitalocean/godo/blame/master/droplets.go#L32

它执行编译时检查,*DropletsServiceOp满足DropletsService接口。在提交之前,他们在测试套件中执行此操作。