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

我将 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)


    }


慕无忌1623718
浏览 83回答 1
1回答

ITMISS

我不确定你到底是什么意思:响应中的类型无法解组您是否收到某种错误?调用ListReleases返回一个[]*RepositoryReleases(参见代码),因此您可以循环访问响应并对数据执行任何您需要的操作。例如,列出每个版本的名称:package mainimport (    "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)        }    }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go