首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要使用go和go-gihub过滤一些数据,并在接下来的步骤中使用响应。

需要使用go和go-gihub过滤一些数据,并在接下来的步骤中使用响应。
EN

Stack Overflow用户
提问于 2021-12-08 16:53:05
回答 1查看 25关注 0票数 1

我使用go和go-gihub库,并设法列出了下面代码中所示的一个示例回购的一些版本。下一步是使用json响应并查看for新版本,但是响应中的类型不能解组吗?

代码语言:javascript
复制
    package main

    import (
        "context"
        "fmt"
        "github.com/google/go-github/github"
    )

    func main() {
        fmt.Println("start")

        client := github.NewClient(nil)

        opt := &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)

    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-08 21:02:03

我不知道你到底是什么意思

无法解组响应中的类型。

你收到什么错误了吗?

ListReleases的调用返回一个[]*RepositoryReleases (见代码),因此您可以循环处理响应,并对数据执行所需的任何操作。

例如,要列出每个版本的名称:

代码语言:javascript
复制
package main

import (
    "context"
    "fmt"

    "github.com/google/go-github/github"
)

func main() {
    fmt.Println("start")

    client := github.NewClient(nil)

    opt := &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)
        }
    }

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70278793

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档