2016-12-01 5 views
0

Я пытаюсь использовать эту golang пакета: https://github.com/jefflaplante/sensulibsensulib Интерфейс пакета в качестве функции паров

Я хочу, чтобы получить все события из 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 
} 

Что именно он ожидает от меня здесь? Я предполагаю, что функция хочет что-то написать, но я понятия не имею, что я должен назвать функцией с

Я прочитал кучу информации о интерфейсах, но это не становится понятным , Любая помощь будет оценена!

ответ

0

Пустой интерфейс interface{} - это просто место для чего-либо. Это примерно эквивалент object в Java или C#, например. Это означает, что библиотека не заботится о типе параметра, который вы собираетесь передать. Для подсказок о том, что делает библиотека с этим параметром, я предлагаю вам посмотреть исходный код.