page.go
func (p *PageIterator) Next(ctx context.Context, v interface{}) error {
	var err error
	switch {
	case p.nextPageURI.Valid:
		err = p.client.GetNextPage(ctx, p.nextPageURI.String, v)
	case p.count == 0:
		err = p.client.ListResource(ctx, p.pathPart, p.data, v)
	default:
		return NoMoreResults
	}
	if err != nil {
		return err
	}
	p.count++
	return nil
}
func (p *PageIterator) Next(ctx context.Context, v interface{}) error {
	var err error
	switch {
	case p.nextPageURI.Valid:
		err = p.client.GetNextPage(ctx, p.nextPageURI.String, v)
	case p.count == 0:
		err = p.client.ListResource(ctx, p.pathPart, p.data, v)
	default:
		return NoMoreResults
	}
	if err != nil {
		return err
	}
	p.count++
	return nil
}
// Next asks for the next page of resources and decodes the results into v.