Skip to content

Releases: CreateLab/GLinq

New methods

07 Dec 08:57

Choose a tag to compare

v.1.0.1

add new methods

Version 1

21 Nov 18:13

Choose a tag to compare

v1.0.0

add new methods ready for release

Version 0.9.6

18 Nov 07:24

Choose a tag to compare

v0.9.6

fix lint

Version 0.9.5

18 Nov 06:47

Choose a tag to compare

v0.9.5

fix structs size

Version 0.9.4

18 Nov 06:10

Choose a tag to compare

v0.9.4

add size

Version 0.9.3

17 Nov 18:25

Choose a tag to compare

v0.9.3

add factory

Version 0.9.2

17 Nov 16:53

Choose a tag to compare

Merge remote-tracking branch 'origin/main'

Version 0.9.1

16 Nov 12:31

Choose a tag to compare

v0.9.1

add license

Version 0.9

16 Nov 10:42
756049c

Choose a tag to compare

# glinq v0.9.0

LINQ-like library for Go with lazy evaluation and fluent API.

## Features

- ✅ Lazy evaluation - operations execute only on materialization
- ✅ Type-safe generics (Go 1.21+)
- ✅ Fluent chainable API
- ✅ Zero dependencies

## Main Operations

**Filtering & Transform**
- `Where`, `Select`, `Map`, `Distinct`, `DistinctBy`

**Sorting**
- `OrderBy`, `OrderByDescending` (with custom comparator)

**Partitioning**
- `Take`, `Skip`, `Chunk`

**Set Operations**
- `Concat`, `Union`, `Intersect`, `Except` (+ `*By` versions)

**Aggregation**
- `Count`, `First`, `Last`, `Any`, `All`, `Min`, `Max`, `Aggregate`

**Map Support**
- `FromMap`, `ToMap`, `ToMapBy`, `Keys`, `Values`

## Example

```go
result := glinq.From([]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}).
    Where(func(x int) bool { return x > 5 }).
    OrderBy(func(a, b int) int { return b - a }).
    Take(3).
    ToSlice()
// [10, 9, 8]