File tree Expand file tree Collapse file tree 4 files changed +42
-3
lines changed Expand file tree Collapse file tree 4 files changed +42
-3
lines changed Original file line number Diff line number Diff line change @@ -5,3 +5,4 @@ __pycache__/
5
5
.vscode
6
6
.swp
7
7
* ~
8
+ .task
Original file line number Diff line number Diff line change @@ -72,9 +72,10 @@ codes := slices.MapAsync(
72
72
73
73
Genesis contains the following packages:
74
74
75
- + [ 🍞 slices] ( https://pkg.go.dev/github.com/life4/genesis/slices ) : generic functions for slices.
76
- + [ 🗺 maps] ( https://pkg.go.dev/github.com/life4/genesis/maps ) : generic functions for maps.
77
- + [ 📺 channels] ( https://pkg.go.dev/github.com/life4/genesis/channels ) : generic function for channels.
75
+ + [ 🍞 slices] ( https://pkg.go.dev/github.com/life4/genesis/slices ) : generic functions for slices (` []T ` ).
76
+ + [ 🗺 maps] ( https://pkg.go.dev/github.com/life4/genesis/maps ) : generic functions for maps (` map[K]V ` ).
77
+ + [ 📺 channels] ( https://pkg.go.dev/github.com/life4/genesis/channels ) : generic function for channels (` chan T ` ).
78
+ + [ ⚙️ sets] ( https://pkg.go.dev/github.com/life4/genesis/sets ) : generic function for sets (` map[T]struct{} ` ).
78
79
+ [ 🛟 lambdas] ( https://pkg.go.dev/github.com/life4/genesis/lambdas ) : helper generic functions to work with ` slices.Map ` and similar.
79
80
80
81
See [ 📄 DOCUMENTATION] ( https://pkg.go.dev/github.com/life4/genesis ) for more info.
Original file line number Diff line number Diff line change 6
6
_ "github.com/life4/genesis/channels"
7
7
_ "github.com/life4/genesis/lambdas"
8
8
_ "github.com/life4/genesis/maps"
9
+ _ "github.com/life4/genesis/sets"
9
10
_ "github.com/life4/genesis/slices"
10
11
)
Original file line number Diff line number Diff line change @@ -62,6 +62,28 @@ func ExampleIntersect() {
62
62
// Output: true
63
63
}
64
64
65
+ func ExampleMax () {
66
+ s := sets .New (3 , 6 , 4 , 5 )
67
+ result , _ := sets .Max (s )
68
+ fmt .Println (result )
69
+ // Output: 6
70
+ }
71
+
72
+ func ExampleMin () {
73
+ s := sets .New (4 , 5 , 3 , 6 )
74
+ result , _ := sets .Min (s )
75
+ fmt .Println (result )
76
+ // Output: 3
77
+ }
78
+
79
+ func ExampleReduce () {
80
+ s := sets .New (3 , 4 , 5 )
81
+ add := func (x , acc int ) int { return x + acc }
82
+ result := sets .Reduce (s , 0 , add )
83
+ fmt .Println (result )
84
+ // Output: 12
85
+ }
86
+
65
87
func ExampleSubset () {
66
88
a := sets .New (4 , 5 )
67
89
b := sets .New (3 , 4 , 5 , 6 )
@@ -70,6 +92,20 @@ func ExampleSubset() {
70
92
// Output: true
71
93
}
72
94
95
+ func ExampleSum () {
96
+ s := sets .New (3 , 4 , 5 )
97
+ result := sets .Sum (s )
98
+ fmt .Println (result )
99
+ // Output: 12
100
+ }
101
+
102
+ func ExampleToSlice () {
103
+ s := sets .New (3 )
104
+ result := sets .ToSlice (s )
105
+ fmt .Println (result )
106
+ // Output: [3]
107
+ }
108
+
73
109
func ExampleSuperset () {
74
110
a := sets .New (3 , 4 , 5 , 6 )
75
111
b := sets .New (4 , 5 )
You can’t perform that action at this time.
0 commit comments