Skip to content

rlarkin212/glinq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Glinq

Go Reference GitHub go.mod Go version GitHub tag (latest by date)

Go implemention of LINQ using generics

Examples


package main

import (
	"github.com/rlarkin212/glinq"
)

type user struct {
	name string
	age  int
}

func main() {
	users := []user{
		{
			name: "a",
			age:  20,
		},
		{
			name: "b",
			age:  12,
		},
		{
			name: "c",
			age:  5,
		},
		{
			name: "d",
			age:  90,
		},
	}

	userNames := glinq.Select(users, func(x user) string {
		return x.name
	})
    
    //output: [a b c d]

	userAges := glinq.Select(users, func(x user) int {
		return x.age
	})

    //output: [20 12 5 90]

	maxAge := glinq.Max(userAges)

    //output: 90

    minAge := glinq.Min(userAges)

    //output: 5

	ageAverage := glinq.Average(userAges)

    //output: 31.75

	orderByAgeAscending := glinq.OrderBy(users, func(x user) int {
		return x.age
	})

    //output: [{c 5} {b 12} {a 20} {d 90}]

	orderByAgeDescending := glinq.OrderByDescending(users, func(x user) int {
		return x.age
	})

    //output: [{d 90} {a 20} {b 12} {c 5}]
}

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages