sensulib包接口作为函数参数

时间:2016-12-01 10:48:04

标签: go sensu

我正在尝试使用这个golang包:https://github.com/jefflaplante/sensulib

我想从sensu API获取所有事件。我已经按照示例代码进行了稍微修改,以便它可以工作:

config := sensu.DefaultConfig()
config.Address = "sensu-url:port"
onfig.Username = "admin"
config.Password = "password"

// Create a new API Client
sensuAPI, err := sensu.NewAPIClient(config)
if err != nil {
  // do some stuff
}

现在我想从API获取所有事件,并且有一个简洁的功能,GetEvents

但是,function需要一个参数out,它是一个接口。这是函数本身:

func (c *API) GetEvents(out interface{}) (*http.Response, error) {
    resp, err := c.get(EventsURI, out)
    return resp, err
}

期待我通过这里到底是什么意思?我想这个函数想要把结果写成某些东西,但我不知道我应该用

来调用函数

我已经阅读了很多关于接口的内容,但它没有得到更清晰的信息。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

空接口interface{}只是一个占位符。例如,它大致相当于Java或C#中的object。这意味着库不关心您要传递的参数的类型。有关库对该参数执行的操作的提示,建议您查看源代码。