github.com/marcelocantos/linq (go): Package linq is a data manipulation library inspired by C# Linq.  Because Go doesn't support generic methods, many functions are expressed as global functions. E.g:  Unfortunately, there are no clean work-arounds. You may wish to use a dot-import to ease the pain a little:  In case your preferred style is to always use global functions, all Query methods are also available as global functions. An added benefit is that free functions can often be used as callbacks to other algorithms.  The library implements almost all the methods in the .Net Enumerable class. The only exceptions are:  On the flip side, this library implements a number of methods not provided by .Net. They are indicated in the groupings below.  The following lists group all functions into major categories. Aside from the first group, Query methods, all functions are global. Those that are also available as methods of Query are indicated by Ⓜ️. New capabilities that are not provided in .Net are indicated by ❇️.  Query methods:  Construct:  Convert to Go types:  Math:  Element access:  Predicate:  Compose:  Transform:  Filter:  Rearrange:  Group and ungroup:  Set and relational operations:  Helper functions for predicates, keys and transforms:  Miscellaneous:
Keywords: data-structures|functional|go|linq