如何初始化包含 Google 自动生成的库切片的结构

我正在尝试根据生成的自动生成的包创建一个 Google Analytics Go 库

我已经进行了身份验证,获得了帐户摘要等。因此,在我尝试构建报告请求之前,一切都很好。

我正在尝试初始化一个具有以下内容的结构 ReportRequest:

type ReportRequest struct {


    DateRanges []*DateRange `json:"dateRanges,omitempty"`


    ...etc

}

我怎样才能创建一个包装这个结构的函数,以便我可以传递值?查阅DateRange 结构 似乎很简单,但我收到有关未将切片指针传递给 DateRange 的消息,我不知道如何构造该指针。

我已经尝试过这个:

func makeRequest(

    start, end string) *ga.GetReportsRequest {


    daterangep := &ga.DateRange{StartDate: start, EndDate: end}


    requests := ga.ReportRequest{}

    requests.DateRanges = daterangep

但出现编译错误:


cannot use daterangep (type *analyticsreporting.DateRange) as type []*analyticsreporting.DateRange in assignment

可以用JSON发送吗?我看到一些我不知道是否可以使用的 MarshalJSON 函数,以及对象中的 json 声明,但我更希望能够使用 Go 对象。


谁能指出我做错了什么?


守着星空守着你
浏览 77回答 1
1回答

波斯汪

要初始化切片,您可以使用文字:daterangep := []*ga.DateRange{{StartDate: start, EndDate: end}}您可以使用make:daterangep := make([]*ga.DateRange, 1) daterangep[0] = &ga.DateRange{StartDate: start, EndDate: end}或者您可以声明它然后使用append:var daterangep []*ga.DateRange daterangep = append(daterangep, &ga.DateRange{StartDate: start, EndDate: end})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go