如何初始化包含 Google 自动生成库的切片的结构
How to init a struct that includes a slice for Google auto generated lib
我正在尝试根据自动生成的包生成 Google Analytics Go 库 here
我已经通过身份验证,获得了帐户摘要等,所以在我尝试构建报告请求之前一切都很好。
我正在尝试初始化一个具有以下内容的结构 ReportRequest:
type ReportRequest struct {
DateRanges []*DateRange `json:"dateRanges,omitempty"`
...etc
}
如何制作一个包装此结构的函数以便我可以传递值?咨询 DateRange struct
这看起来很简单,但我收到有关未将切片指针传递给 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 对象。
谁能指出我做错了什么?
要初始化切片,您可以使用 literal:
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})
我正在尝试根据自动生成的包生成 Google Analytics Go 库 here
我已经通过身份验证,获得了帐户摘要等,所以在我尝试构建报告请求之前一切都很好。
我正在尝试初始化一个具有以下内容的结构 ReportRequest:
type ReportRequest struct {
DateRanges []*DateRange `json:"dateRanges,omitempty"`
...etc
}
如何制作一个包装此结构的函数以便我可以传递值?咨询 DateRange struct 这看起来很简单,但我收到有关未将切片指针传递给 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 对象。
谁能指出我做错了什么?
要初始化切片,您可以使用 literal:
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})