# Collect

```go
func Collect[K any](seq iter.Seq2[K, error]) ([]K, error)
```

Convert any sequence into a slice.

It returns an error if any element in the sequence has a non-nil error.

## Parameters

**seq**

`iter.Seq2[K, error]`

The sequence to convert.

## Returns

A slice of `K` or an error if any.

```go title="Go"
import (
  "time"
  datasets "github.com/tilebox/tilebox-go/datasets/v1"
	"github.com/tilebox/tilebox-go/query"
)

startDate := time.Date(2014, 10, 4, 0, 0, 0, 0, time.UTC) 
endDate := time.Date(2021, 2, 24, 0, 0, 0, 0, time.UTC) 
queryInterval := query.NewTimeInterval(startDate, endDate)

datapoints, err := datasets.Collect(datasets.As[*v1.Sentinel1Sar](
    client.Datapoints.Query(
      ctx,
      datasetID,
      datasets.WithCollectionIDs(collectionID),
      datasets.WithTemporalExtent(queryInterval),
    ),
))
```
