为了账号安全,请及时绑定邮箱和手机立即绑定

需要使用 go 和 go-gihub 过滤一些数据,在响应中停留在下一步

需要使用 go 和 go-gihub 过滤一些数据,在响应中停留在下一步

Go
慕无忌1623718 2022-10-17 17:10:53
我将 go 与 go-gihub 库一起使用,并设法从下面代码中显示的示例 repo 中列出了一些版本。下一步是使用 json 响应并观察新版本,但是响应中的类型不能被解组?    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)    }
查看完整描述

1 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

我不确定你到底是什么意思:

响应中的类型无法解组

您是否收到某种错误?

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

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

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)

        }

    }


}


查看完整回答
反对 回复 2022-10-17
  • 1 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信