#json #api #go
#json #API #Вперед
Вопрос:
Я использую go с библиотекой go-gihub, и мне удалось перечислить некоторые выпуски из примера репозитория, показанного в коде ниже. Следующий шаг — использовать ответ json и следить за новыми выпусками, однако тип из ответа не может быть отменен?
package main
import (
"context"
"fmt"
"github.com/google/go-github/github"
)
func main() {
fmt.Println("start")
client := github.NewClient(nil)
opt := amp;github.ListOptions{Page: 2, PerPage: 10}
ctx := context.Background()
rls, resp, err := client.Repositories.ListReleases(ctx, "prometheus-community", "helm-charts", opt)
if err != nil {
fmt.Println(err)
}
fmt.Println("contents of rls:", rls)
fmt.Println("contents of resp:", resp)
}
Ответ №1:
Я не уверен, что именно вы имели в виду:
тип из ответа не может быть отменен
Вы получили какую-то ошибку?
Вызов ListReleases
возвращает a []*RepositoryReleases
(см. Код), так что вы можете перебирать ответ и делать с данными все, что вам нужно.
Например, для перечисления названия каждого выпуска:
package main
import (
"context"
"fmt"
"github.com/google/go-github/github"
)
func main() {
fmt.Println("start")
client := github.NewClient(nil)
opt := amp;github.ListOptions{Page: 2, PerPage: 10}
ctx := context.Background()
rls, resp, err := client.Repositories.ListReleases(ctx, "prometheus-community", "helm-charts", opt)
if err != nil {
fmt.Println(err)
}
for _, release := range rls {
if release.Name != nil {
fmt.Println(*release.Name)
}
}
}
Комментарии:
1. Это именно та информация, которая мне была нужна, я слишком усложнил ответ.